Coordinating Stateful IoT Resources as Event-Driven Distributed IoT Services

Coordinating Stateful IoT Resources as Event-Driven Distributed IoT Services

Copyright: © 2019 |Pages: 36
DOI: 10.4018/978-1-5225-7622-8.ch005


In IoT applications, physical systems have not only discrete behaviors but also continuous dynamics; the corresponding aspects of the information world are called IoT resources. IoT services monitor and control these resources to ensure specific properties such as controllability and stability. An approach is proposed here that links together IoT resources, events, and IoT services based on requirement specifications. IoT resources are explicitly modelled as stateful to express the evolution of their current attributes and states from their previous ones. Multiple actions are modelled by specifying the indirect effects and causalities of their actions, and the interactions between physical processes and information processes are orchestrated as the coordination of the IoT resources (i.e., coordinating stateful IoT resources as IoT services). At runtime, the issue of how to solve the glitch problem is discussed based on an event extraction method. Finally, an evaluation is performed as a proof of concept for this chapter.
Chapter Preview


IoT resources represent physical objects and sensors in ICT systems, and are foundational entities in IoT applications. IoT services are used to manage and coordinate these IoT resources in order to make a physical system work effectively and efficiently, such as robotic assembly lines that machine components.

IoT resources are often specified using specific methods and standards (IEEE1451.2-1997, 1997; SSN, 2014; Botts & Robin, 2007), and are independently deployed at different physical sites. IoT services are often independently developed at different times and places and by different vendors (Erl, 2005). The method of semantic service creation (Hatzi et al., 2012; Stavropoulos et al., 2016) appears to be able to orchestrate these independent IoT services and IoT resources. The fact that IoT resources often have inherent physical processes, including discrete behaviours and continuous dynamics, and their current resource attributes and states are produced only after the previous resource attributes and states (known as a stateful system), means that existing service orchestration methods may not work well.

An IoT service can be considered as a set of actions performed on IoT resources, and appropriate descriptions of these actions are necessary for an artificial system to correctly monitor and control the real world (McCarthy & Hayes, 1969; Kowalski & Sergot, 1986; Gelfond & Lifschitz, 1993; Reiter, 2001). Although existing studies have specified action effects produced by Web services for the definition and composition of semantic services (Hatzi et al., 2012; Stavropoulos et al., 2016), only the dependencies between input and output or between precondition and effect have been explored for the orchestration of services. The way in which the stateful physical process of IoT resources operates and interacts with the information process of IoT services is not fully reflected in the service description of IOPE and classic service orchestration. The orchestration of IoT services needs to be oriented to stateful IoT resources, i.e. allowing the coordination of stateful IoT resources, as follows:

  • 1.

    The lifecycles of different IoT resources need to be properly matched, since the state of one resource may be a condition on the state transition of another resource. Although a simple matching requirement can be indirectly specified in the service description, complex stateful matching requirements such as controllability (i.e. distinguishing controllable resource attributes and states from uncontrollable ones, and adjusting them by matching controllable against uncontrollable ones (Zhang & Chen, 2017) are difficult or impossible to define in the service layer.

  • 2.

    IoT resources have continuous dynamics and discrete behaviours, and their continuous stateful properties such as stability (Smith, 1957; Zhang & Chen, 2015) should also hold; these often do not appear in the IOPE service specification.

  • 3.

    The attributes of multiple IoT resources may affect each other, and need to be coordinated with each other such that multiple controlling actions over the IoT resources can be performed according to the constraints on resource attributes (e.g. the motion equations of a robot).

For example, robotic resources in a production line should have different motion trajectories without collusion, such as one resource placing components onto a belt and others removing them.

Complete Chapter List

Search this Book: