title: Automated application deployment in heterogeneous IoT environments by OpenTOSCA
Creators: name: Claeßens, Markus
Publisher: name: TU Wien
Year: 2014
Subjects: subject: TOSCA
subject: IoT
subject: Internet der Dinge
subject: Gebäudeautomatisierung
subject: IoT PaaS
subject: Anwendungsdeployment
subject: Lifecycle-Management
subject: Portabilität
subject: Wiederverwendbarkeit
subject: TOSCA
subject: IoT
subject: Internet of Things
subject: Building Automation
subject: IoT PaaS
subject: Application Deployment
subject: Lifecycle Management
subject: Portability
subject: Reusability

description: Die heutige Internet of Things (IoT) Landschaft wird durch proprietäre Lösungen, welche von unterschiedlichen Wirtschaftsbranchen entwickelt werden, fragmentiert. Gateways wurden eingeführt, um die domänen- und herstellerspezifischen Kommunikationsprotokolle, Datenmodelle und Steuergeräte zu integrieren. Aber anstatt die Heterogenität der Systeme zu verringern, wurden weitere, oftmals proprietäre Kommunikationsprotokolle eingeführt. Des Weiteren wird das automatische Deployment von Anwendungen von IoT Frameworks kaum unterstützt und Management-Prozeduren sind aufgrund fehlender Standardisierung nicht portabel. Somit erfordert der Betrieb von IoT Lösungen eine zeitaufwändige manuelle Konfiguration sowie detailliertes Wissen über jedes verwendete Gateway-Framework. Interessanterweise sind ähnliche Probleme im Gebiet der Cloud-Anwendungen entstanden. Das Fehlen von standardisierten APIs führte zu heterogenen Cloud-Umgebungen, welche herstellerspezifische Management-Prozeduren zur Steuerung von Anwendungslebenszyklen nötig gemacht haben. Das Portieren dieser Prozeduren in eine neue Umgebung war eine zeitaufwändige und teure Aufgabe. Das Portabilitätsproblem in Cloud-Umgebungen wurde von Wirtschaft und Wissenschaft wahrgenommen, was zur Entwicklung der OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA) geführt hat. Diese Spezifikation stellt ein Meta-Modell zur Definition der Topologie von Anwendungen und den dazu gehörenden Management-Prozeduren zur Verfügung. Das Ziel dieser Arbeit ist es zu untersuchen, wie TOSCA auf die IoT Domäne angewendet werden kann, um das Deployment von Anwendungen und das Lifecycle-Management auf portable und wiederverwendbare Art und Weise zu automatisieren. IoT Anwendungen sind aus wiederverwendbaren Komponenten zusammengesetzt, welche detailliertes Wissen über deren Management beinhalten. Das Verhalten ist durch Management-Prozeduren zur Steuerung des Lifecycles definiert, welche auf portable und kompatible Art und Weise umgesetzt werden. Des Weiteren wird gezeigt, wie die Virtualisierung, welche in der IoT PaaS Architektur konzipiert wurde, durch die Anwendung von TOSCA erreicht werden kann. Um die Machbarkeit dieses Ansatzes zu zeigen, wird ein Prototyp auf Basis der OpenTOSCA Laufzeitumgebung entwickelt, welcher einen Anwendungsfall auf dem Gebiet der Gebäudeautomatisierung implementiert. Die prototypische Anwendung besteht aus zwei Klimagerät-Instanzen, welche auf zwei verschiedene Gateway Frameworks -- Sedona und Niagara -- deployed werden.
description: Today's Internet of Things (IoT) landscape is fragmented by proprietary solutions offered by different vertical industries. Gateway application environments were introduced to integrate the domain- and vendor-specific communication protocols, data models, and control devices with management level business processes. But rather than reducing the heterogeneity, they introduced additional, often proprietary communication protocols. Furthermore, the automation of application deployment in IoT framework environments is barely supported and the management procedures are not portable due to the lack of standardization. Thus, the operation of IoT solutions requires time consuming manual configuration and detailed knowledge about each gateway framework in use. Interestingly, quite similar problems appeared in the domain of cloud applications. The absence of standardized APIs led to heterogeneous cloud environments making vendor-specific application life-cycle management procedures necessary. Porting these procedures to a new environment resulted in a cost and time intensive task. The portability problem in cloud environments was perceived by industry and academics, leading to the OASIS Topology and Orchestration Specification for Cloud Applications (TOSCA), which provides a meta-model to define the topology of applications and their life-cycle management in a portable way. The goal of this work is to investigate how TOSCA can be applied to the IoT domain to automate application deployment and life-cycle management in a portable and reusable way. The structure of IoT applications is composed of reusable components which capture detailed management knowledge. Their behaviour is defined by life-cycle management procedures which are defined in a portable and interoperable way. Furthermore we show how the device virtualization proposed in the IoT PaaS architecture can be accomplished by applying TOSCA. To show the feasibility of this approach, a prototype that implements a building automation use case is developed, based on the OpenTOSCA runtime environment. The prototypical application consists of two Air Handling Unit (AHU) instances which are deployed onto two distinct gateway frameworks -- Sedona and Niagara.