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

Read more

Summary

INTRODUCTION

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].

BACKGROUND
Architectural Strucure for IoT based Software Systems
Operations of the Software Architecture for IoT Systems
Phase III – Documenting the Study to Report the Results
A TAXONOMY OF SOFTWARE ARCHITECTURES FOR IOTS
SOFTWARE ARCHITECTURE-CENTRIC SOLUTIONS FOR IOT SYSTEMS
EMERGING RESEARCH ON ARCHITECTURE-BASED SOLUTIONS FOR IOT SOFTWARE
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call