Internet of Things as System of Systems: A Review of Methodologies, Frameworks, Platforms, and Tools

The Internet of Things (IoT) is the latest example of the System of Systems (SoS), demanding for both innovative and evolutionary approaches to tame its multifaceted aspects. Over the years, different IoT methodologies, frameworks, platforms, and tools have been proposed by industry and academia, but the jumbled abundance of such development products have resulted into a high (and disheartening) entry-barrier to IoT system engineering. In this survey, we steer IoT developers by: 1) providing baseline definitions to identify the most suitable class of development products—methodologies, frameworks, platforms, and tools–for their purposes and 2) reviewing seventy relevant products through a comparative and practical approach, based on general SoS engineering features revised in the light of main IoT systems desiderata (i.e., interoperability, scalability, smartness, and autonomy). Indeed, we aim to lessen the confusion related to IoT methodologies, frameworks, platforms, and tools as well as to freeze their current state, for eventually easing the approach towards IoT system engineering.

[1]  Franco Cicirelli,et al.  A Cognitive Enabled, Edge-Computing Architecture for Future Generation IoT Environments , 2019, 2019 IEEE 5th World Forum on Internet of Things (WF-IoT).

[2]  Filippo Ricca,et al.  Towards an approach for developing and testing Node-RED IoT systems , 2018, EnSEmble@ESEC/SIGSOFT FSE.

[3]  Ilia Petrov,et al.  From Active Data Management to Event-Based Systems and More , 2010, Lecture Notes in Computer Science.

[4]  P. J. Antsaklis,et al.  Panel discussion: Autonomy in engineering systems: What is it and why is it important? Setting the stage: Some autonomous thoughts on autonomy , 1998 .

[5]  Franco Zambonelli,et al.  Key Abstractions for IoT-Oriented Software Engineering , 2017, IEEE Software.

[6]  Kurt Geihs,et al.  FRASAD: A framework for model-driven IoT Application Development , 2015, 2015 IEEE 2nd World Forum on Internet of Things (WF-IoT).

[7]  Long Sun,et al.  An open IoT framework based on microservices architecture , 2017, China Communications.

[8]  Ching-Hu Lu Context-Aware Service Provisioning via Agentized and Reconfigurable Multimodel Cooperation for Real-Life IoT-Enabled Smart Home Systems , 2020, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[9]  Rui Zhou,et al.  Smart Train Operation Algorithms based on Expert Knowledge and Reinforcement Learning , 2020, ArXiv.

[10]  Vlad Trifa,et al.  The COMPOSE API for the internet of things , 2014, WWW.

[11]  Alessandro Bassi,et al.  Enabling Things to Talk , 2013, Springer Berlin Heidelberg.

[12]  Divya Saxena,et al.  Design and Verification of an NDN-Based Safety-Critical Application: A Case Study With Smart Healthcare , 2019, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[13]  Maria Paasivaara,et al.  Scaling Agile , 2017, IEEE Software.

[14]  Deep Medhi,et al.  A Secure Microservice Framework for IoT , 2017, 2017 IEEE Symposium on Service-Oriented System Engineering (SOSE).

[15]  Κωνσταντίνος Δ. Σπυρόπουλος,et al.  Alliance for the Internet of Things Innovation (AIOTI) , 2016 .

[16]  Mark W. Maier Architecting Principles for Systems‐of‐Systems , 1996 .

[17]  Klaus Moessner,et al.  Enabling smart cities through a cognitive management framework for the internet of things , 2013, IEEE Communications Magazine.

[18]  Hongming Cai,et al.  A Configurable WoT Application Platform Based on Spatiotemporal Semantic Scenarios , 2019, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[19]  John C. Grundy,et al.  The Rise and Evolution of Agile Software Development , 2018, IEEE Software.

[20]  Paulo F. Pires,et al.  Modeling IoT Applications with SysML4IoT , 2016, 2016 42th Euromicro Conference on Software Engineering and Advanced Applications (SEAA).

[21]  Roozbeh Jafari,et al.  Enabling Effective Programming and Flexible Management of Efficient Body Sensor Network Applications , 2013, IEEE Transactions on Human-Machine Systems.

[22]  Dirk Slama,et al.  An IoT Solution Methodology , 2017 .

[23]  Radu Calinescu,et al.  Software Engineering Techniques for the Development of Systems of Systems , 2008, Monterey Workshop.

[24]  Daniel Moldovan,et al.  iCOMOT -- A Toolset for Managing IoT Cloud Systems , 2015, 2015 16th IEEE International Conference on Mobile Data Management.

[25]  Ivana Podnar Žarko,et al.  Interoperability and Open-Source Solutions for the Internet of Things , 2015, Lecture Notes in Computer Science.

[26]  Prem Prakash Jayaraman,et al.  OpenIoT: Open Source Internet-of-Things in the Cloud , 2014, OpenIoT@SoftCOM.

[27]  Anisha Gupta,et al.  Scalability in Internet of Things : Features , Techniques and Research Challenges , 2017 .

[28]  Steven L. Alter,et al.  Making Sense of Smartness in the Context of Smart Devices and Smart Systems , 2020, Inf. Syst. Frontiers.

[29]  Lien-Wu Chen,et al.  Time-Efficient Indoor Navigation and Evacuation With Fastest Path Planning Based on Internet of Things Technologies , 2019 .

[30]  Kleanthis Thramboulidis,et al.  Cyber-physical microservices: An IoT-based framework for manufacturing systems , 2018, 2018 IEEE Industrial Cyber-Physical Systems (ICPS).

[31]  Martin Serrano,et al.  Overcoming the Heterogeneity in the Internet of Things for Smart Cities , 2016, InterOSS@IoT.

[32]  Giancarlo Fortino,et al.  Enabling IoT interoperability through opportunistic smartphone-based mobile gateways , 2017, J. Netw. Comput. Appl..

[33]  Schahram Dustdar,et al.  A Scalable Framework for Provisioning Large-Scale IoT Deployments , 2016, ACM Trans. Internet Techn..

[34]  Romina Spalazzese,et al.  Characterizing Internet of Things Systems through Taxonomies: A Systematic Mapping Study , 2019, Internet Things.

[35]  Imrich Chlamtac,et al.  Internet of things: Vision, applications and research challenges , 2012, Ad Hoc Networks.

[36]  Devanandham Henry,et al.  Analysis of the References from the Guide to the Systems Engineering Body of Knowledge (SEBoK) , 2013, CSER.

[37]  Michael Blackstock,et al.  IoT mashups with the WoTKit , 2012, 2012 3rd IEEE International Conference on the Internet of Things.

[38]  Giancarlo Fortino,et al.  Simulation-Driven Platform for Edge-Based AAL Systems , 2021, IEEE Journal on Selected Areas in Communications.

[39]  Bashar Nuseibeh,et al.  Privacy-by-Design Framework for Assessing Internet of Things Applications and Platforms , 2016, IOT.

[40]  Prem Prakash Jayaraman,et al.  IOTSim: A simulator for analysing IoT applications , 2017, J. Syst. Archit..

[41]  Paolo Pagano,et al.  PyoT, a macroprogramming framework for the Internet of Things , 2014, Proceedings of the 9th IEEE International Symposium on Industrial Embedded Systems (SIES 2014).

[42]  Pankesh Patel,et al.  Enabling high-level application development for the Internet of Things , 2015, J. Syst. Softw..

[43]  Geyong Min,et al.  Lifelogging Data Validation Model for Internet of Things Enabled Personalized Healthcare , 2018, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[44]  Christian Bonnet,et al.  Easing IoT application development through DataTweet framework , 2016, 2016 IEEE 3rd World Forum on Internet of Things (WF-IoT).

[45]  Weiming Shen,et al.  Agent-Oriented Cooperative Smart Objects: From IoT System Design to Implementation , 2018, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[46]  Franco Cicirelli,et al.  An edge-based platform for dynamic Smart City applications , 2017, Future Gener. Comput. Syst..

[47]  Federico Ciccozzi,et al.  MDE4IoT: Supporting the Internet of Things with Model-Driven Engineering , 2016, IDC.

[48]  Teodor-Florin Fortis,et al.  Applying the Prometheus Methodology for an Internet of Things Architecture , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[49]  Antonio Puliafito,et al.  AllJoyn Lambda: An architecture for the management of smart environments in IoT , 2014, 2014 International Conference on Smart Computing Workshops.

[50]  Ejaz Ahmed,et al.  Enabling IoT platforms for social IoT applications: Vision, feature mapping, and challenges , 2017, Future Gener. Comput. Syst..

[51]  Franco Zambonelli,et al.  Fluidware: An Approach Towards Adaptive and Scalable Programming of the IoT , 2019, Models, Languages, and Tools for Concurrent and Distributed Programming.

[52]  Abdelaziz Marzak,et al.  IoT methodologies: comparative study , 2020, FNC/MobiSPC.

[53]  Artem Katasonov,et al.  Smart Semantic Middleware for the Internet of Things , 2008, ICINCO-ICSO.

[54]  Thirunavukkarasu Ramalingam,et al.  Assessing the Potential of IoT in Systems Engineering Discipline , 2019 .

[55]  Mirko Viroli,et al.  Engineering Resilient Collaborative Edge-Enabled IoT , 2019, 2019 IEEE International Conference on Services Computing (SCC).

[56]  Jin Wang,et al.  Anomaly Detection Based on Convolutional Recurrent Autoencoder for IoT Time Series , 2022, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[57]  Bedir Tekinerdogan,et al.  IoT System Development Methods , 2018, IoT 2018.

[58]  W. Duncan A GUIDE TO THE PROJECT MANAGEMENT BODY OF KNOWLEDGE , 1996 .

[59]  Giancarlo Fortino,et al.  A Methodology for Integrating Internet of Things Platforms , 2018, 2018 IEEE International Conference on Cloud Engineering (IC2E).

[60]  Giancarlo Fortino,et al.  On the Classification of Cyberphysical Smart Objects in the Internet of Things , 2014, UBICITEC.

[61]  Mohammed Atiquzzaman,et al.  Interoperability in Internet of Things: Taxonomies and Open Challenges , 2018, Mobile Networks and Applications.

[62]  Christian Bonnet,et al.  Cross-Domain Internet of Things Application Development: M3 Framework and Evaluation , 2015, 2015 3rd International Conference on Future Internet of Things and Cloud.

[63]  Atay Ozgovde,et al.  EdgeCloudSim: An environment for performance evaluation of Edge Computing systems , 2017, 2017 Second International Conference on Fog and Mobile Edge Computing (FMEC).

[64]  Lidia Fuentes,et al.  A Software Product Line Process to Develop Agents for the IoT , 2015, Sensors.

[65]  Ray Y. Zhong,et al.  Data-Driven Analysis for RFID-Enabled Smart Factory: A Case Study , 2020, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[66]  Brice Morin,et al.  Model-Based Software Engineering to Tame the IoT Jungle , 2017, IEEE Software.

[67]  Nikolaos I. Spanoudakis,et al.  Engineering ambient intelligence systems using agent technology , 2015, IEEE Intelligent Systems.

[68]  Oliver Kopp,et al.  A Detailed Analysis of IoT Platform Architectures: Concepts, Similarities, and Differences , 2018, Internet of Everything.

[69]  Monica Divitini,et al.  RapIoT Toolkit: Rapid Prototyping of Collaborative Internet of Things Applications , 2016, 2016 International Conference on Collaboration Technologies and Systems (CTS).

[70]  Friedemann Mattern,et al.  From the Internet of Computers to the Internet of Things , 2010, From Active Data Management to Event-Based Systems and More.

[71]  Pramod Anantharam,et al.  Semantic Gateway as a Service Architecture for IoT Interoperability , 2014, 2015 IEEE International Conference on Mobile Services.

[72]  Gerald Kotonya,et al.  Developing IoT applications: challenges and frameworks , 2017, IET Cyper-Phys. Syst.: Theory & Appl..

[73]  Jiyun Lee,et al.  Trigger-Action Programming in the Wild: An Analysis of 200,000 IFTTT Recipes , 2016, CHI.

[74]  Mike Surridge,et al.  Model-driven interoperability: engineering heterogeneous IoT systems , 2016, Ann. des Télécommunications.

[75]  Vangelis Metsis,et al.  IoT Middleware: A Survey on Issues and Enabling Technologies , 2017, IEEE Internet of Things Journal.

[76]  Amit P. Sheth,et al.  Internet of Things to Smart IoT Through Semantic, Cognitive, and Perceptual Computing , 2016, IEEE Intelligent Systems.

[77]  Siobhán Clarke,et al.  Middleware for Internet of Things: A Survey , 2016, IEEE Internet of Things Journal.

[78]  Tajana Simunic,et al.  Scalable-Application Design for the IoT , 2017, IEEE Software.

[79]  Eray Tüzün,et al.  Adopting the Essence Framework to Derive a Practice Library for the Development of IoT Systems , 2017 .

[80]  Johan J. Lukkien,et al.  A systems of systems perspective on the internet of things: invited paper , 2016, SIGBED.

[81]  Noël Crespi,et al.  DPWSim: A simulation toolkit for IoT applications using devices profile for web services , 2014, 2014 IEEE World Forum on Internet of Things (WF-IoT).

[82]  Giancarlo Fortino,et al.  Agent-based Internet of Things: State-of-the-art and research challenges , 2020, Future Gener. Comput. Syst..

[83]  Jerker Delsing IoT Automation : Arrowhead Framework , 2017 .

[84]  Giancarlo Fortino,et al.  Distributed Learning for Vehicle Routing Decision in Software Defined Internet of Vehicles , 2021, IEEE Transactions on Intelligent Transportation Systems.

[85]  Matthew Hause,et al.  Technology Update on the Unified Architecture Framework (UAF) , 2016 .

[86]  Fei Tao,et al.  New IT Driven Service-Oriented Smart Manufacturing: Framework and Characteristics , 2019, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[87]  Matthias Jarke,et al.  IoT Link: An Internet of Things Prototyping Toolkit , 2014, 2014 IEEE 11th Intl Conf on Ubiquitous Intelligence and Computing and 2014 IEEE 11th Intl Conf on Autonomic and Trusted Computing and 2014 IEEE 14th Intl Conf on Scalable Computing and Communications and Its Associated Workshops.

[88]  Franco Cicirelli,et al.  Metamodeling of Smart Environments: from design to implementation , 2017, Adv. Eng. Informatics.

[89]  Paul Davidsson,et al.  IoT-based Systems of Systems , 2016 .

[90]  Danh Le Phuoc,et al.  Enabling IoT Ecosystems through Platform Interoperability , 2017, IEEE Software.

[91]  Henry Leung,et al.  Towards a theoretical framework of autonomous systems underpinned by intelligence and systems sciences , 2021, IEEE/CAA Journal of Automatica Sinica.

[92]  Antonio Iera,et al.  From "smart objects" to "social objects": The next evolutionary step of the internet of things , 2014, IEEE Communications Magazine.

[93]  Bojan Cukic,et al.  Trust-Based Development Framework for Distributed Systems and IoT , 2016, 2016 IEEE 40th Annual Computer Software and Applications Conference (COMPSAC).

[94]  MengChu Zhou,et al.  Security and trust issues in Fog computing: A survey , 2018, Future Gener. Comput. Syst..

[95]  Ana Regina Cavalcanti da Rocha,et al.  A Requirements Engineering Process for IoT Systems , 2019, SBQS.

[96]  MengChu Zhou,et al.  Toward cloud computing QoS architecture: analysis of cloud systems and cloud services , 2017, IEEE/CAA Journal of Automatica Sinica.

[97]  Káthia Marçal de Oliveira,et al.  On challenges in engineering IoT software systems , 2018, SBES.

[98]  Rajkumar Buyya,et al.  iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments , 2016, Softw. Pract. Exp..

[99]  Haitao Yuan,et al.  Profit-Maximized Collaborative Computation Offloading and Resource Allocation in Distributed Cloud and Edge Computing Systems , 2021, IEEE Transactions on Automation Science and Engineering.

[100]  Giancarlo Fortino,et al.  A flexible building management framework based on wireless sensor and actuator networks , 2012, J. Netw. Comput. Appl..