Abstract
Context—Internet of Thing (IoT) based systems support any-time/place computations by interconnecting humans, systems, services, devices, and things that enabling autonomous systems to shape-up digitized societies. Software architecture, as the blue-print of software-intensive systems, abstracts the complexities of modeling, design, development, and evolution phases of a software to engineer complex IoT driven systems effectively and efficiently. Objectives and Method—Research and development efforts are required to exploit architectural principle and practices to design and develop IoT systems to go beyond the state-of-the-art for IoTs. The objectives of this research are to empirically investigate and systematically classify the state-of-the-art on architecting IoT based software. We have used the Evidence Based Software Engineering (EBSE) method to conduct a mapping study of the existing IoT solutions by investigating 88 qualitatively selected studies. Results and Implications—The results of the mapping study highlight various research themes that exploit software architecture models to develop IoT systems. The identified research themes include, but are not limited to, cloud-based software ecosystems, software defined networking, autonomous, and adaptive software and agent-based systems that IoTs drive. The mapping study suggests that futuristic research on architecting IoT software is focused on architectural languages and patterns that support reusability, automation, and human decision support to develop and dynamically adapt IoT software. The mapping study represents a concentrated knowledge regarding architectural principle and practices to facilitate knowledge transfer—benefiting researchers and practitioners—on the role of software architecture for IoT systems.
Highlights
Internet of Things (IoTs) are being increasingly adopted as a technology and an enabling platform that interconnects humans, systems, devices, and things to ensure a connected world that is based on autonomous systems that are fundamental to digitized societies [1,2]
The research on software architecture solutions for IoT systems have progressed for almost a decade to establish theories, propose frameworks, and develop tools to address various challenges that relate to architecting and implementing IoT systems
We have used the evidence-based software engineering approach to conduct a systematic mapping study as an empirical investigation regarding the role of software architecture and its implications on IoT based software systems
Summary
Internet of Things (IoTs) are being increasingly adopted as a technology and an enabling platform that interconnects humans, systems, devices, and things to ensure a connected world that is based on autonomous systems that are fundamental to digitized societies [1,2]. IoT based systems represent a combination of (i) hardware (component and sensor) that is controlled and manipulated by (ii) software (source code and programs) that are interconnected through the use of (iii) network (protocols and connectivity) to enable things that collect, process, and exchange useful data [2]. This layer is responsible for managing and operationalizing the interconnection and the desired logic, which helps the things to coordinate and execute over the internet. The layer above the interconnection and logic layer is computation and data storage layer, which manages the computation/analytics and data storage (at a central location) for all of the interconnected things
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.