Abstract
Recently, Internet of Thing (IoT) systems enable an interconnection between systems, humans, and services to create an (autonomous) ecosystem of various computation-intensive things. Software architecture supports an effective modeling, specification, implementation, deployment, and maintenance of software-intensive things to engineer and operationalize IoT systems. In order to conceptualize and optimize the role of software architectures for IoTs, there is a dire need for research efforts to analyse the existing research and solutions to formulate the vision for futuristic research and development. In this research, we propose to empirically analyse and taxonomically classify the impacts of research on designing, architecting, and developing IoT-driven software systems. We have conducted a survey-based study of the existing research – investigating challenges, solutions and required futuristic efforts – on architecting IoT systems. The results of survey highlight that software architecture solutions support various research themes for IoT systems such as (i) cloud-based ecosystems, (ii) reference architectures, (ii) autonomous systems, and (iv) agent-based systems for IoT-based software. The results also indicate that any futuristic vision to architect IoT software should incorporate architectural processes, patterns, models and languages to support reusable, automated, and efficient development of IoTs. The proposed research documents structured and systemised knowledge about software architecture to develop IoT systems. Such knowledge can facilitate the researchers and developers to identify the key areas, understand the existing solution and their limitations to conceptualize and propose innovation solutions for existing and emerging challenges related to the development of IoT software.
Highlights
Internets of Things (IoTs) provide a set of technologies and their underlying infrastructure(s) that connect systems, services, human, devices and things to establish the foundation of interconnected and autonomous computing systems [1, 2]
After the discussion about architectural structure, we present the operations of IoTs that are supported by software architecture
We present the results for Research Questions (RQs)-1 that focuses on outlining taxonomy and discuss the classification and categorisation of various architectural solutions for IoT software
Summary
Internets of Things (IoTs) provide a set of technologies and their underlying infrastructure(s) that connect systems, services, human, devices and things to establish the foundation of interconnected and autonomous computing systems [1, 2]. The autonomous robot for service and appliances operating in a domestic environment that interact with each other (robot making the coffee or perform cleaning services) can be represented as architectural components and connectors that support programmable implementation of an IoT system that enables humans to exploit automation and home servicing based on interconnected things (i.e., service robot and appliances). This implies that existing processes, practices, patterns, languages and tools for architecture-centric development of software and systems can be effectively leveraged to architect IoT-based software [7, 8].
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
More From: International Journal of Advanced Computer Science and Applications
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.