Elsevier

Future Generation Computer Systems

Volume 99, October 2019, Pages 473-488
Future Generation Computer Systems

A Finite-State-Machine model driven service composition architecture for internet of things rapid prototyping

https://doi.org/10.1016/j.future.2019.04.050Get rights and content

Highlights

  • IoT development trends and open challenges in rapid prototyping.

  • Analysis of model driven composition approach and its potential benefits for IoT rapid prototyping.

  • Possible architecture of FSM model driven IoT rapid prototyping framework and its implementation.

Abstract

The emerging field of Internet of Things (IoT) offers an unprecedented opportunity for a wide spectrum of applications. However, most applications have been integrating IoT devices through proprietary mechanisms and with closed technology stacks. The monolithic, mostly vendor-specific development architecture leads to soaring customization costs and limited component reusability. It impedes the full-fledged IoT applications in cross-organizational, general-purpose and rapid-changing scenarios. This research intends to provide a coherent architecture that enables interoperable, low-cost and user-customizable IoT rapid prototyping. Under this architecture, each IoT component, either a physical device or a control logic, is abstracted into an independent web service that described by a set of transferable states. By concatenating a valid chain of state transfers between web services, IoT components are further assembled into customizable applications. In this research, a Finite-State-Machine (FSM) model driven architecture is established and a typical implementation of the proposed architecture, i.e. the Hyper Sensor Markup Language (HSML) is provided. We also discuss two practical use cases and related evaluations.

Introduction

Nowadays, most IoT applications still use proprietary mechanisms for integration of IoT devices [1]. They rely exclusively on vendor-specific platforms and closed technology stacks that are owned, maintained and used by a single party. This kind of monolithic, ad hoc architecture, often optimized for a particular purpose, is able to achieve relatively good real-time performance and high fidelity in specific domains [2], e.g. an industrial automation system or a medical monitoring system. However, it fails to cope with more general-purpose, cross-organizational scenarios as well as dynamic, situational needs. A monolithic application of tightly coupled modules consequently leads to reprogramming efforts to make the network extensible to serve new applications. And once the top application is launched, it is never easy to get any component altered or replaced, which implies limited reusability and inherently low cost-effectiveness. As a result, it is difficult to support the rising demands of rapid-prototyping and end user development for IoT based innovation.

Tackling these issues, we have witnessed an architectural transition taking place within IoT application development area within the recent decade, shifting from the traditional monolithic, vendor-specific, device-dependent technology stack to a more modular, service-oriented, cross-platform one [3], [4], [5], as shown in Fig. 1. Cloud computing is bringing about novel approaches to provide IoT “as a service”, to name just a few, research projects like Sensing-as-a-Service (SaaS) [6], [7], Sensing-and-Actuation-as-a-Service (SAaaS) [8] etc. To achieve high mobility and ubiquitous accessibility, it usually requires service providers to virtualize heterogeneous devices and their functionality as independent services with generic interfaces, while concealing their internal mechanisms and operations. This process is also known as servitization. Once IoT devices are servitized, their true capability can be realized for the first time through automating customizable IoT applications by simply aggregating multiple similar services together [9].

However, although virtualization and servitization of IoT devices have paved the way to integrate heterogeneous devices and web services into value-added applications, a full-fledged approach to the IoT service development is still missing, hence bounding the potential benefits deriving from an effectively open and interacting IoT ecosystem [10]. Previous research suggests that the model-driven approach is a promising solution, which can provide critical benefits including: better interoperability [11] and reusability [12], separation of concerns [13], complexity reduction [14], etc. Meanwhile, new challenges and requirements also arise. [10] proposed the vision of “opportunistic IoT services” that consists of two modeling phases: metamodeling and operational modeling, which is supposed to provide crucial opportunistic properties, including: dynamicity, context-awareness, co-location and transience. However, this nascent research area still requires in-depth multi-faceted research efforts. Few practical system has been built and carefully evaluated, in particular regarding IoT prototyping.

In this research, we proposed a model-driven approach for providing a coherent middleware to enable non-professional end-users to rapidly prototype with IoT products for their specific needs. Use cases and evaluations are provided to assess its capability of dealing with several common challenges that are of particular interest to the research community, including: (1) Providing adequate cross-domain interoperability [15] to develop cross-organizational applications on top of existing infrastructures, e.g. cloud based enterprise platforms [16]; (2) Allowing users to experiment with various design possibilities at lower customization cost [17] and with higher reusability [18]; (3) Reducing expertise requirements and kick-start barriers to involve inexperienced users into IoT development [19], [20], [21]. The core idea here, is to encapsulate heterogeneous sensors, actuators, IoT devices into composable Web services with uniform model-driven interface, so that they can be further assembled in a user-customizable, semi-automatic manner. We argued that this kind of novel model-driven architecture is specifically suitable for quick designs and testing innovative prototypes. The proposed architecture is based on a Finite-State-Machine model, and a corresponding general development interface is provided for manipulating state transfer.

The rest of the paper is structured as follows: Section 2 briefly introduces the related technology background for the adopted approach in this research. Section 3 presents the proposed IoT service composition architecture, while Sections 4 HSML - a practical example: Implementation, use cases and discussions, 5 Evaluation discuss the corresponding implementation, use cases, and evaluations respectively. Finally, Section 6 ends with a summary and outlook.

Section snippets

Iot virtualization and servitization

In IoT field, virtualization conventionally refers to creating a virtual version of a sensor, actuator or any IoT device. According to a review of literature, three kinds of virtualization techniques have been widely adopted: (1) Hypervisor-Based Virtualization, examples being Linux’s Kernel-based Virtual Machine (KVM), Xen and VirtualBox; (2) Container-Based Virtualization, such as Docker; (3) Emulator-Based Virtualization, such as Java. The main benefit of virtualization is hardware

A FSM model driven service composition architecture for IoT rapid prototyping

In this section, a model-driven service composition architecture is proposed to enable IoT developers, with or without technical expertise, to design and test their IoT prototypes rapidly. We argue that a model-driven architecture can bring additional benefits to IoT prototyping while dealing with the following common challenges:

  • 1.

    Cross-domain interoperability. It is very common in application cases like smart city, automation in communal spaces etc., that a multitude of IoT services owned and

Implementation

Although the proposed architecture can actually be implemented by a varied combination of technology stacks, here we provide a typical implementation named Hyper Sensor Markup Language (HSML) that has already been practiced and deployed in many real projects. HSML refers to: (1) A Domain Specific Language with HTML-like syntax we designed to describe the state of an IoT service and state transfer chain between services; (2) The implemented architecture itself which is featured by HSML language

Evaluation

Since expertise requirement and kick-start barriers are issues closely related to user experience, we have conducted a series of beginner-centered user experiments to test the task load of our web development toolkit. A complementary expert interview was also conducted to gain feedback from veteran IoT developers inside the industry.

Conclusion and future work

It has been argued that the IoT prototyping approaches currently applied in practice are too limited with respect to supporting end user involvement and creativity. Previous research shows the challenge mainly comes from three aspects: cross-domain interoperability, reusability and customization cost, expertise requirement and kick-start barrier. In this article, we argued that a model driven approach is helpful for addressing these challenges. To evaluate our idea, an FSM model-driven service

Acknowledgments

This work was supported by the Science Foundation of Ministry of Education of China grant 14YJC860029 and the National Social Science Fund of China grant 16BGL191.

Conflict of interest

There are no known conflicts of interest associated with this publication and there has been no significant financial support for this work that could have influenced its outcome.

Ruowei Xiao received the Ph.D. from Keio University, Japan, in 2018. Currently, she is a researcher at department of media design, Keio University. Her research work has encompassed multidisciplinary contributions in the areas of Ubiquitous Computing, Internet of Things, interactive media and design, applied variously to smart city, environmental monitoring, healthcare, and education.

References (76)

  • RaoB.P. et al.

    Cloud computing for internet of things & sensing based applications

  • DistefanoS. et al.

    Sensing and actuation as a service: A new development for clouds

  • FortinoG. et al.

    Opportunistic cyberphysical services: A novel paradigm for the future internet of things

  • GraceP. et al.

    Model-driven interoperability: engineering heterogeneous iot systems

    Ann. Telecommun.

    (2016)
  • CostaB. et al.

    Design and analysis of iot applications: a model-driven approach

  • CiccozziF. et al.

    Model-driven engineering for mission-critical iot systems

    IEEE Softw.

    (2017)
  • NguyenX.T. et al.

    Frasad: A framework for model-driven iot application development

  • FortinoG. et al.

    Towards multi-layer interoperability of heterogeneous iot platforms: the inter-iot approach

  • PramudiantoF. et al.

    Iot link: An internet of things prototyping toolkit

  • CvijikjI.P. et al.

    The toolkit approach for end-user participation in the internet of things

  • MoraS. et al.

    Rapiot toolkit: Rapid prototyping of collaborative internet of things applications

  • JanakJ. et al.

    Framework for rapid prototyping of distributed iot applications powered by webrtc

  • KubitzaT. et al.

    Rapid interweaving of smart things with the meschup iot platform

  • KarkiD. et al.

    Zygote: A framework for prototyping smart devices

  • SuyamaT. et al.

    Abstracting iot devices using virtual machine for wireless sensor nodes

  • LeaR. et al.

    Networking home entertainment devices with havi

    Computer

    (2000)
  • U. Openhab, Openhab. URL...
  • de DeugdS. et al.

    Soda: Service oriented device architecture

    IEEE Perv. Comput.

    (2006)
  • JammesF. et al.

    Service-oriented paradigms in industrial automation

    IEEE Trans. Ind. Inf.

    (2005)
  • de SouzaL. et al.

    Socrades: A web service based shop floor integration infrastructure

    Internet Things

    (2008)
  • PettyM.D. et al.

    A composability lexicon

  • DinsingT. et al.

    Service composition in ims using java ee sip servlet containers

    Ericsson Rev.

    (2007)
  • CasatiF. et al.

    Adaptive and dynamic service composition in eflow

  • PautassoC.

    Composing restful services with jopera

  • M. Pruett, Yahoo! pipes, O’Reilly,...
  • TsurS. et al.

    Are web services the next revolution in e-commerce?(panel)

  • MedjahedB. et al.

    Business-to-business interactions: issues and enabling technologies

    VLDB J.

    (2003)
  • SoldatosJ. et al.

    Openiot: Open source internet-of-things in the cloud

  • Cited by (18)

    • SICIoT: A simple instruction compiler for the Internet of Things

      2020, Internet of Things (Netherlands)
      Citation Excerpt :

      In the field of Wireless Sensor Networks (WSN) [11–14], it is widely known that programming devices of this kind is not trivial, and it is a task almost exclusive to experts in the area. In consequence, there have been various efforts in developing programming languages and compilers [15–19], middlewares and frameworks [20–23], and other development tools [24,25] to facilitate such WSN programming. However, all these works have programmers in mind as the main intended users.

    • Challenges to be addressed to realize Internet of Things solutions for smart environments

      2020, Future Generation Computer Systems
      Citation Excerpt :

      More in details, seven papers published on this macro topic are below reported. The paper “A Finite-State-Machine Model driven Service Composition Architecture for Internet of Things Rapid Prototyping” [20] authored by Ruowei Xiao, Zhanwei Wu, and Dongyu Wang, aims to provide an innovative architecture that guarantees interoperability among low-cost and user-customizable IoT rapid prototyping solutions. In this architecture, each IoT component, hardware and software, is abstracted into an independent web service described by a set of transferable states.

    • Interactive System Modelling for the Internet of Things

      2023, Proceedings of the ACM on Human-Computer Interaction
    View all citing articles on Scopus

    Ruowei Xiao received the Ph.D. from Keio University, Japan, in 2018. Currently, she is a researcher at department of media design, Keio University. Her research work has encompassed multidisciplinary contributions in the areas of Ubiquitous Computing, Internet of Things, interactive media and design, applied variously to smart city, environmental monitoring, healthcare, and education.

    Zhanwei Wu received the Ph.D. from Shanghai Jiao Tong University, China. Currently, he is an assistant professor at Shanghai Jiao Tong University and the co-director of big data communication innovation lab. His research interests include big data for social good, human computer interaction, IoT and privacy by design.

    Dongyu Wang is a Ph.D. student at Keio University, Japan. Dongyu Wang received the B.E. degree in software engineering from the Northeast Normal University, Changchun, China. He received M.E. degree in Media Design from Keio University, Japan. Currently, he is working toward the Ph.D. degree studying Engineering and Interaction Design at the Keio University. His research interests include IoT sensor network systems, interaction design, and ubiquitous computing.

    View full text