An Application Development Framework for Internet-of-Things Service Orchestration - Rafique, Wajid; Zhao, Xuan; Yu, Shui; Yaqoob, Ibrar; Imran, Muhammad; Dou, Wanchun (IEEE internet of things journal, 2020)
Application development for the Internet of Things (IoT) poses immense challenges due to the lack of standard development frameworks, tools, and techniques to assist end users in dealing with the complexity of IoT systems during application development. These challenges invoke the use of model-driven development (MDD) along with the representational state transfer (REST) architecture to develop IoT applications, supporting model generation at different abstraction levels while generating software implementation artifacts for heterogeneous platforms and ensuring loose coupling in complex IoT systems. This article proposes an IoT application development framework, named IADev, which uses attribute-driven design and MDD to address the above-mentioned challenges. This framework is composed of two major steps, including iterative architecture development using attribute-driven design and generating models to guide the transformation using MDD. IADev uses attribute-driven design to transform the requirements into a solution architecture by considering the concerns of all involved stakeholders, and then, MDD metamodels are generated to hierarchically transform the design components into the software artifacts. We evaluate IADev for a smart vehicle scenario in an intelligent transportation system to generate an executable implementation code for a real-world system. The case study experiments proclaim that IADev achieves higher satisfaction of the participants for the IoT application development and service orchestration, as compared to conventional approaches. Finally, we propose an architecture that uses IADev with the Siemens IoT cloud platform for service orchestration in industrial IoT.