Conference PaperPDF Available

Running Distributed and Dynamic IoT Choreographies

Authors:

Abstract and Figures

IoT systems are growing larger and larger and are becoming suitable for basic automation tasks. One of the features IoT automation systems can provide is dealing with a dynamic system -- Devices leaving and joining the system during operation. Additionally, IoT automation systems operate in a decentralized manner. Current commercial automation systems have difficulty providing these features. Integrating new devices into an automation system takes manual intervention. Additionally, automation systems also require central entities to orchestrate the operation of participants. With smarter sensors and actors, we can move control operations into software deployed on a decentralized network of devices, and provide support for dynamic systems. In this paper, we present a framework for automation systems that demonstrates these two properties (distributed and dynamic). We represent applications as semantically described data flows that are run decentrally on participating devices, and connected at runtime via rules. This allows integrating new devices into applications without manual interaction and removes central controllers from the equation. This approach provides similar features to current automation systems (central engineering, multiple instantiation of applications), but enables distributed and dynamic operation. We demonstrate satisfying performance of the system via a quantitative evaluation.
Content may be subject to copyright.
A preview of the PDF is not available
... In this paper, we focus on (1) e ciently detecting failures of devices and so ware components using an accrual-based failure detection augmented with policies, and (2) automatically mitigating failures by nding an optimal allocation of application tasks, e.g., towards minimized energy consumption of the system. is work describes the latest ndings on our research agenda to enable distributed IoT choreographies. Our path began with the introduction of the "Recipe" concept for de ning IoT application templates [31], continued by our work on improving the runtime management of such recipes by handling them as service choreographies [26], and most recently de ned a mechanism for the dynamic and resilient management of IoT choreographies [27]. ...
... is work builds up on our previous works [26,27,31] that present an IoT composition as a "Recipe", i.e., separate from its implementation. A semi-automated service composition and instantiation tool assists the user in creating the composition. ...
... With the recipe concept (Section 2.1, [31]), we have de ned a schema for the expression of such data ow graphs. ese recipes are executed in a distributed fashion, and can be dynamically replaced and recon gured (see [26]). With the growing scale of IoT device deployments and applications, such dynamic replacement and recon guration will become more important. ...
Article
Full-text available
In the industrial Internet of Things domain, applications are moving from the Cloud into the Edge, closer to the devices producing and consuming data. This means that applications move from the scalable and homogeneous Cloud environment into a potentially constrained heterogeneous Edge network. Making Edge applications reliable enough to fulfill Industry 4.0 use cases remains an open research challenge. Maintaining operation of an Edge system requires advanced management techniques to mitigate the failure of devices. This article tackles this challenge with a twofold approach: (1) a policy-enabled failure detector that enables adaptable failure detection and (2) an allocation component for the efficient selection of failure mitigation actions. The parameters and performance of the failure detection approach are evaluated, and the performance of an energy-efficient allocation technique is measured. Finally, a vision for a complete system and an example use case are presented.
... This work describes the latest findings on our research agenda to enable IoT applications as distributed choreographies. Our agenda started with the definition of the Recipe concept as template for IoT applications [6], continued by our approach for runtime management of such recipes [7], the dynamic and resilient management of IoT applications [8], and rule-based configuration of networks underlying the IoT application [9]. This work combines the results of these previous works and goes beyond by investigating, implementing, and evaluating an approach that automatically translates application-specific SPDI and QoS constraints into executable patterns/rules as well as their actual monitoring and enforcement. ...
... In our previous work [6][7][8], we introduced the recipe concept to represent the design of an IoT application, i.e., a composition of services from IoT devices, separate from its implementation. A graphical tool allows the ability to define and instantiate the recipe. ...
... The user is supported during the instantiation of the recipe by narrowing down matching recipe ingredients through semantic subsumption reasoning. Then, we enabled the distributed execution of instantiated recipes in [7]. Our approach went beyond the concepts of [33] by introducing mechanisms for fault tolerance and failure detection (see [8]) as needed by critical automation systems. ...
Article
Full-text available
Various tools support developers in the creation of IoT applications. In general, such tools focus on the business logic, which is important for application development, however, for IoT applications in particular, it is crucial to consider the network, as they are intrinsically based on interconnected devices and services. IoT application developers do not have in depth expertise in configuring networks and physical connections between devices. Hence, approaches are required that automatically deduct these configurations. We address this challenge in this work with an architecture and associated data models that enable networking-aware IoT application development. We evaluate our approach in the context of an application for oil leakage detection in wind turbines.
... It recommends the establishment of a central data exchange component. As stated in [24,25] and other architecture analysis, central solutions always imply weaknesses like singlepoint-of-failure, bottlenecks within the communication and higher latency times. Summarized, todays control system engines, based on IEC 61512 [5], do not provide the ability to handle this kind of service associations distributed over several process equipment assemblies. ...
... Other contributions of SIRENA, SOCRADES as well as IMC-AESOP named choreography as a valid complementary method, but never used it in their publications in a focused manner. With [24,25] two industrial applications of a choreography named mechanism exist, which will be defined by so called recipes. The authors define connections between boolean signal endpoints of different devices in the recipe to connect them during runtime and thus realize flexible interconnections for building automation systems to support flexible room concepts. ...
Conference Paper
Modularization is seen as one core building block for highly flexible production systems to ensure profitability in process as well as manufacturing industries in their increasing volatile markets. Production modules encapsulate local control al-gorithms and thus, form Industrial Cyber-Physical Systems (ICPS). They, as pre-automated modular units fulfill the charac-teristics of micro-service architectures. These architectures use or-chestration and choreographies as complementary association methods. In this contribution, the applicability and the advantages of service choreographies are analyzed from a more practical per-spective. It is shown that choreographies have their strengths in the decentral association of (sub-)elementary services to new and independent automation functions. Thus, the services of produc-tion modules can be combined more flexibly through decentralized control. Two simplified examples and a first experiment closes the practical insight to choreographies in industrial automation sys-tems.
... Still, there are some noteworthy approaches that do support description of non-functional IoT service composition properties. Seeger et al. (2018) proposes the offering selection rules (OSRs) that make the reconfiguration of the system possible during runtime. Said rules express non-functional properties that a device/service needs to provide to be part of a specific composition. ...
Article
Full-text available
The adoption of Internet of Things (IoT) devices, applications and services gradually transform our everyday lives. In parallel, the transition from linear to circular economic (CE) models provide an even more fertile ground for novel types of services, and the update and enrichment of legacy ones. To fully realize the potential of the interplay between IoT and CE, the design-time definition of IoT orchestrations with proven circularity properties, and the run-time management of these orchestrations based on said properties, is of paramount importance. Nevertheless, the circularity requirements and associated properties are not only difficult to achieve at the IoT orchestration design and deployment initialization phases, but also hard to prove and maintain at run-time. Motivated by this, this paper presents the CIRCE framework for circular and trustworthy by-design IoT orchestrations. The CIRCE approach leverages concepts from pattern-driven engineering, whereby patterns are used to encode proven dependencies between the Location, Condition, and Availability (LCA) properties of individual smart objects and corresponding properties of orchestrations (compositions) involving them. These are augmented by patterns encoding trustworthiness-related properties, namely Connectivity, Security, Privacy, Dependability, and Interoperability (CSPDI). Thereby, these patterns are used to generate IoT orchestrations with proven LCA and CSPDI properties, as needed, at design time. At runtime, these properties are monitored in real-time, leveraging reasoning engines deployed across system layers, triggering adaptations to return the deployed orchestration to the desired LCA and CSPDI states, when required. Details are provided on the above novel combination of IoT, CE and pattern-based engineering, along with a proposed architecture and implementation approach. Furthermore, an assessment of a proof-of-concept implementation is provided, validating the feasibility of the proposed approach.
... This framework is made for choreographies and also uses web service technologies. In [18] the authors present a concept for building automation systems. They introduce so-called recipes which define incoming and outgoing primitive signals which in turn are provided via an integrated REST-API. ...
Conference Paper
Service-oriented automation systems play a key role in the context of modular production systems. Modular production systems can be build up from Process Equipment Assemblies (PEAs). PEA-spanning Automation Service Associations are able to increase the degree of adaptability in modular production systems. Their former implementation using central orchestration was subject to some limiting constraints. In this contribution, a choreography-based mechanism for Automation Service Association is presented, that represents a serious alternative to the central orchestration. The presented mechanism for Automation Service Choreographies consists of three software patterns which can be used in combination to meet the identified requirements. The software patterns as well as first implementation experiences with programmable logic controllers are presented.
... IoT choreographies and how they are managed at runtime is the goal of Seeger et al. [7]. IoT service compositions are described by templates called Recipes, which consist of Ingredients and their Interactions. ...
Article
Full-text available
Structured approaches to the definition of service orchestrations facilitate the composition of components and services and allow for more capable and powerful applications, while introducing many advantages such as service reusability, cost reduction, and simplification of organization alliances. A variety of such approaches exist in the literature, with more recent approcahes focusing on the IoT. Nevertheless, oftentimes security and privacy aspects are not adequately considered, which constitutes a significant barrier to the deployment of IoT applications and services with security and privacy built-in by design. The objective of this work is to provide an overview of service composition approaches, highlighting how the scientific community approaches the IoT service composition problem, while identifying the limitations of the current solutions in terms of catering to the security and privacy challenges. Furthermore, a novel approach for composing IoT systems with proven security and privacy properties is proposed.
... Finally, [13] provide a mechanism that manages IoT choreographies at runtime dynamically. According to their approach IoT service compositions are described by templates called Recipes, which consist of Ingredients and their Interactions. ...
Chapter
Full-text available
The orchestration of heterogeneous IoT devices to enable the provision of IoT applications and services poses numerous challenges, especially in contexts where end-to-end security and privacy guarantees are needed. To tackle these challenges, this paper presents a pattern–driven approach for interacting with IoT systems, whereby the required properties are guaranteed. Patterns are leveraged to represent the relationship between security, privacy, dependability and interoperability (SPDI) properties of specific smart objects and corresponding properties of orchestrations that include said objects. In this way, patterns allow the verification that certain SPDI properties hold for an IoT orchestration, while also enabling the adaptation of IoT orchestrations in ways that allow the given properties to hold.
... By analogy to other domains like Web services, composition is exemplified with either orchestration (centralized) or choreography (decentralized) [14]. In the field of IoT, Thuluva et al. propose Recipes as a programming language to specify the structure and configuration of IoT systems [18,19]. Acting as an abstract template, a recipe is about ingredients and interactions that define the data flow between IoT devices, referred to as offering. ...
Article
Full-text available
In the context of an Internet-of-Things (IoT) ecosystem, this paper discusses two necessary stages for managing federations of things. The first stage defines things in terms of duties and non-functional properties that define the quality of these duties. And, the second stage uses these properties to assign appropriate things to future federations. Specialized into ad hoc and planned, federations are expected to satisfy needs and requirements of real-life situations like traffic control that arise at run-time. A set of experiments using a mix of real and simulated datasets, demonstrate the technical doability of thing assignment to federations and are presented in the paper, as well.
Article
Production flexibility, engineering efficiency and faster time-to-market are customer needs in order to survive on the market. Highly flexible system architectures are the key to fulfill these needs. Today’s procedural flexibility, like in the IEC 61512 standard, is not sufficient. Extending flexibility is a must, whereas central orchestration systems reach their limits. Besides orchestration there is a second association method, the choreography. The focus of this contribution is the question of how choreography can be applied in the automation context. Starting point of this contribution is a terminology foundation in the domain of micro-service automation systems followed by a characterization of orchestration and choreography in the automation context. In this paper, we show that both methods complement each other ideally. Central orchestration is used to coordinate decentralized choreographies - complexity reduction combined with high flexibility.
Article
The Internet of Thing has been identified as one of the emerging technologies in IT. It interconnects and integrates large numbers of digital and physical entities by capability of appropriate information and communication technologies, to enable building enormous useful and unimaginable services and applications. However, building new IoT services or applications is a fastidious task since it is faced to several challenges such as interoperability, context-awareness, discovery, availability, decision-making. In this article, the authors are interested in coordination challenges that are still open despite the efforts of international organizations and scientific research groups. In fact, the authors outline a recent literature review of existing IoT coordination approaches. In the literature, researchers tend to use orchestration or choreography as a way to meet this challenge. A classification and the vision on this topic are presented. The authors propose an approach that is more likely to respond to the co-ordination challenge.
Conference Paper
Full-text available
The Internet of Things (IoT) is on rise. More and more physical devices and their virtual shadows emerge and become accessible through IoT platforms. Marketplaces are being built to enable and monetize the access to IoT offerings, i.e., data and functions offered by platforms, things, and services. In order to maximize the usefulness of such IoT offerings we need mechanisms that allow their efficient and flexible composition. This paper describes a novel approach for such compositions. The approach is based on the notion of Recipes that define work-flows on how their ingredients, i.e., instances of IoT offerings, shall interact with each other. Furthermore the paper presents a novel user interface that enables users to create and instantiate recipes by selecting their ingredients. An example from the smart mobility domain guides through the paper, illustrates our approach, and demonstrates as a proof-of-concept.
Conference Paper
Full-text available
Internet of Thing (IoT) is transforming our physical world into a giant information system, daily providing novel, advanced, cyberphysical services. Differently from conventional computing services (e.g., web-services, and ubiquitous services) that are usually loosely impacted by context-awareness, co-location or transience, Internet of Things (IoT) services require to actually consider the overall spatio-temporal context of the heterogeneous entities involved in the service provisioning. This paper proposes a novel and full-fledged approach to IoT service modeling, aiming to fully support IoT service development according to opportunistic properties.
Conference Paper
Full-text available
The Internet of Things (IoT) is maturing and more and more IoT platforms that give access to things are emerging. However, the real potential of the IoT lies in growing IoT cross-domain ecosystems on top of these platforms that will deliver new, unanticipated value added applications and services. We identified two crucial aspects that are important to grow an IoT ecosystem: (i) interoperability to enable cross-platform and even cross-domain application developments on top of IoT platforms as well as (ii) marketplaces to share and monetize IoT resources. Having these two crucial pillars of an IoT ecosystem in mind, we present in this article the BIG IoT architecture as the foundation to establish IoT ecosystems. The architecture fulfills essential requirements that have been assessed among industry and research organizations as part of the BIG IoT project. We demonstrate a first proof-of-concept implementation in the context of an exemplary smart cities scenario.
Article
Full-text available
Today, the Internet of Things (IoT) comprises vertically oriented platforms for things. Developers who want to use them need to negotiate access individually and adapt to the platform-specific API and information models. Having to perform these actions for each platform often outweighs the possible gains from adapting applications to multiple platforms. This fragmentation of the IoT and the missing interoperability result in high entry barriers for developers and prevent the emergence of broadly accepted IoT ecosystems. The BIG IoT (Bridging the Interoperability Gap of the IoT) project aims to ignite an IoT ecosystem as part of the European Platforms Initiative. As part of the project, researchers have devised an IoT ecosystem architecture. It employs five interoperability patterns that enable cross-platform interoperability and can help establish successful IoT ecosystems.
Conference Paper
Full-text available
In this paper we examine the development of IoT applications from the perspective of the Fog Computing paradigm, where computing infrastructure at the network edge in devices and gateways is leverage for efficiency and timeliness. Due to the intrinsic nature of the IoT: heterogeneous devices/resources, a tightly coupled perception-action cycle and widely distributed devices and processing, application development in the Fog can be challenging. To address these challenges, we propose a Distributed Dataflow (DDF) programming model for the IoT that utilises computing infrastructures across the Fog and the Cloud. We evaluate our proposal by implementing a DDF framework based on Node-RED (Distributed Node-RED or D-NR), a visual programming tool that uses a flow-based model for building IoT applications. Via demonstrations, we show that our approach eases the development process and can be used to build a variety of IoT applications that work efficiently in the Fog.
Conference Paper
Full-text available
As of today, building automation systems are present in almost any commercial building. They perform climate control, lightning control, access control, surveillance, and quite a few other tasks. As a result of their evolutionary development, building automation systems are divided into separate silos of disciplines that are not well integrated with each other. As of today, a variety of communication protocols, data models and engineering approaches are used by different vendors. Existing standardized building automation protocols as BACnet or KNX allow integration of some disciplines on the communication level but fail to provide means for common description of devices, services and data on the semantic level. This means that building automation applications that span multiple disciplines require a high effort for development, engineering and maintenance. If devices from multiple vendors are integrated in one installation, a set of different engineering tools and vendor-specific knowledge is required. In the ITEA " Building as a Service " (BaaS) project we try to overcome these deficiencies and define a common way to develop, engineer, commission, operate and maintain building automation systems following a service oriented approach. The whole process will be supported by semantic models to reduce costs and time-to-market, which is a quite new approach. In this paper we will present the current state of the work with special regard to domain modeling and model driven processes that are currently being specified for the BaaS platform.
Conference Paper
Full-text available
With the Internet of Things, more and more devices become remotely manageable. The amount and heterogeneity of managed devices make the task of implementing management functionality challenging. Future Pervasive Computing scenarios require implementing a plethora of services to provide management functionality. With growing demand on services, reducing the emerging complexity becomes increasingly important. A simple-to-use programming model for implementing complex management scenarios is essential to enable developers to create the growing amount of required management software at high quality. The paper presents how data-centric mechanisms, as known from network management, can be utilized to create a service- oriented architecture (SOA) for management services. The resulting shift of complexity from access functionality towards data structures introduces new flexibility and facilitates the programming of management applications significantly. This is evaluated with a user study on the reference implementation.
Article
Self-Management of services and devices in Internet of Things (IoT) systems and Machine-to-Machine (M2M) systems is a fundamental challenge due to the large number of devices and context-aware services. In this paper, we present the mechanism to automatically manage the services and devices according to context of the system and location of the devices. The developed mechanism is parts of WuKong middleware, which is a middleware for distributed and autonomous IoT/M2M systems. To support autonomous service management, we develop the device identification mechanism, the mechanism for device status monitoring, device management, and service reconfiguration. This paper presents the location and context-aware service configuration mechanism in WuKong middleware. The mechanism includes the services to manage the devices, to manage the radio interfaces on devices, to learn the location of devices, to load the service remotely and dynamically. The developed mechanisms are implemented and experimented on Arduino-compatible devices to evaluate its performance.
Article
SEPARATION BETWEEN CONTENT and presentation has always been one of the important design aspects of the Web. Historically, however, even though most websites were driven off structured databases, they published their content purely in HTML. Services such as Web search, price comparison, reservation engines, among others that operated on this content had access only to HTML. Applications requiring access to the structured data underlying these Web pages had to build custom extractors to convert plain HTML into structured data. These efforts were often laborious and the scrapers were fragile and error prone, breaking every time a site changed its layout.