+**********************************************************************
*
*
* 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.
informatik-vortraege@lists.rwth-aachen.de