+**********************************************************************

*

*

*                          Einladung

*

*

*

*                     Informatik-Oberseminar

*

*

*

+**********************************************************************

 

Zeit:  Freitag, 11. November 2022, 10:00 Uhr

Ort:   Raum 9222 (2359|222), E3, Informatikzentrum, Ahornstr. 55

 

Referent: Jörg Christian Kirchhof, M.Sc. RWTH (Software Engineering)

 

Thema: Model-driven Development, Deployment, and Analysis of

Internet of Things Applications

 

Kurzfassung (english version below):

 

Das Internet der Dinge (IoT) beschreibt die Idee, mit Sensoren und

Aktuatoren ausgestattete Gegenstände untereinander und mit dem Internet

zu verbinden. Die Entwicklung von IoT-Anwendungen ist aus verschiedenen

Gründen komplex. Dazu gehören die Heterogenität der IoT-Geräte, die

Tatsache, dass es sich bei IoT-Anwendungen normalerweise um verteilte

Anwendungen handelt, und die Fehleranfälligkeit der Hardware und der

Netzwerkverbindung. Modellgetriebene Methoden versprechen, die komplexe

Entwicklung von IoT-Anwendungen durch die Anhebung des

Abstraktionsniveaus handhabbar zu machen. In verwandten Arbeiten wurde

eine Vielzahl von Komponenten-und-Konnektor (C&C)

Architekturbeschreibungssprachen (ADLs) zur Entwicklung von

IoT-Anwendungen vorgestellt. Diese konzentrieren sich jedoch

hauptsächlich auf die frühen Entwicklungsphasen und vernachlässigen

weitgehend Zuverlässigkeitsaspekte.

 

Dementsprechend konzentriert sich diese Arbeit auf die modellgetriebene

Entwicklung von IoT-Anwendungen über ihren gesamten Lebenszyklus

hinweg. Wir stellen MontiThings vor, ein Ökosystem zur

modellgetriebenen Entwicklung von IoT-Anwendungen. Basierend auf

bestehenden Ansätzen spezifiziert das MontiThings-Ökosystem eine

IoT-fokussierte C&C ADL unter Verwendung der MontiCore Language

Workbench. MontiThings zielt darauf ab, ein Ökosystem anzubieten, das

den Lebenszyklus von IoT-Anwendungen abdeckt, angefangen bei den ersten

Architekturkonzepten bis hin zur Bereitstellung der Anwendung und der

Analyse der Anwendung während der Laufzeit. In allen Phasen dieses

Prozesses bietet MontiThings dabei Zuverlässigkeitsmechanismen, die

dabei helfen können, robuste Anwendungen zu spezifizieren.

Beim Deployment von Anwendungen ist die anforderungsbasierte

Deployment-Methode von MontiThings in der Lage, nicht nur eine

Verteilung der Komponenten auf die IoT-Geräte zu berechnen, sondern

aktiv Änderungen vorzuschlagen, sollten Anforderungen nicht erfüllbar

sein. Fallen Geräte zur Laufzeit aus, kann MontiThings das Deployment

automatisch an die geänderte Situation anpassen (sofern es im Rahmen

der Anforderungen möglich ist) und den vorherigen Softwarestand der

ausgefallenen Geräte wiederherstellen. Zum Verständnis

unvorhergesehener Situationen zur Laufzeit stellt MontiThings

Analysedienste zur Verfügung. Insgesamt demonstriert MontiThings eine

durchgängig modellgetriebene Methode zur Entwicklung von

IoT-Anwendungen.

 

 

Es laden ein: die Dozentinnen und Dozenten der Informatik

 

---

 

Abstract:

 

The Internet of Things (IoT) describes the idea of connecting objects

equipped with sensors and actuators to each other and to the Internet.

IoT applications are complex to develop for a variety of reasons,

including the heterogeneity of the IoT devices, diverse software

stacks, the fact that IoT applications are usually distributed

applications, and the fragility of the hardware and network connection.

Model-driven methods promise to make the complex development of IoT

applications manageable by raising the level of abstraction. Related

work has proposed a variety of component and connector (C&C)

architecture description languages (ADLs) for developing IoT

applications. However, these mainly focus on the early development

phases and largely neglect reliability aspects.

 

Accordingly, this work focuses on the model-driven development of IoT

applications throughout their lifecycle. We present MontiThings, an

ecosystem for model-driven IoT applications. Based on existing

approaches, the MontiThings ecosystem specifies an IoT-focused C&C ADL

using the MontiCore language workbench. MontiThings aims at offering an

ecosystem that covers the lifecycle of IoT applications starting from

the first architecture concepts up to the eventual deployment of the

application and its analysis during runtime. At all stages of this

process, MontiThings offers reliability mechanisms that can help

to specify resilient applications.

 

When deploying applications, MontiThings’ requirements-based deployment

method is able to not only calculate a distribution of components to

IoT devices but can also actively propose changes should the

requirements be unfulfillable. If devices fail at runtime, MontiThings

can automatically adapt the deployment to the changed situation (if

possible within the requirements) and restore the previous software

state of failed devices. To understand unforeseen situations that may

arise at runtime, MontiThings provides model-driven analysis services.

Overall, MontiThings demonstrates an end-to-end model-driven approach

for designing IoT applications.