[Back]


Diploma and Master Theses (authored and supervised):

T. Pusztai:
"Model-based Design and Architecture of Fog Computing Applications";
Supervisor: S. Dustdar, C. Tsigkanos; Institute of Information Systems Engineering, Distributed Systems Group, 2019; final examination: 2019-06-06.



English abstract:
Applications on top of the Internet of Things (IoT) show big potential, but the characteristics of this domain present big challenges to software engineers. Heterogeneous hardware environments and software stacks, unreliable devices, and diverse developer skillsets make the implementation of business processes spanning the entire application and the enforcement of constraints difficult. To this end, we propose a methodology and technical framework targeting heterogeneous IoT systems, where software components may be situated on IoT devices, cloud infrastructure, or edge devices -- a paradigm often referred to as fog computing. Our approach leverages design-time modeling of device interfaces and data, business processes, and overall application execution constraints that may be involved. Design-time activities entail specification of the software architecture of the IoT application in an implementationand languageagnostic manner. Subsequently, we automatically generate boilerplate code for system participating devices, requiring developers to only implement the business processes. The generated boilerplate code is correct by construction and is able to target the different languages usually used in diverse IoT software components. When the application is completed and deployed, its execution may violate design assumptions. To counter this, constraints defined during design-time are converted to assertions and are enforced at runtime, ensuring that devices operate within certain bounds. We evaluate our model-driven engineering framework over a health care system use case.

German abstract:
Anwendungen auf Basis des Internet of Things (IoT) haben großes Potential, aber die Charakteristika dieses Bereichs führen zu großen Herausforderungen für Software Ingenieure. Heterogene Hardund Softwareumgebungen, unzuverlässige Geräte und variable Kenntnisse der Entwickler machen die Implementierung von Business Prozessen, die sich über die ganze Applikation erstrecken und das Einhalten von Beschränkungen schwierig. Zu diesem Zweck präsentieren wird eine Methodik und ein technisches Framework, welche für heterogene IoT Systeme ausgelegt sind, bei denen Softwarekomponenten auf unterschiedlichen IoT Geräten, Cloud Infrastrukturen oder Edge Geräten situiert sein können -- ein Paradigma, das oft als Fog Computing bezeichnet wird. Unsere Methodik verwendet Modellierung von Geräte-Interfaces und Daten, Business Prozessen und Laufzeitbeschränkungen, die Teil der Applikation sind. Die Modellierungsaktivitäten beinhalten die Spezifikation der Softwarearchitektur der IoT Anwendung auf eine implementierungsund sprachenunabhängige Art. Danach wird automatisch Code für die involvierten Geräte generiert, sodass die Entwickler lediglich die Details der Business Prozesse implementieren müssen. Der generierte Code ist "Correct by Construction" und kann in den üblicherweise verwendeten Programmiersprachen diverser IoT Softwarekomponenten generiert werden. Wenn die Applikation fertiggestellt und in Betrieb ist, können bei ihrer Ausführung Situationen auftreten, die Annahmen aus der Modellierungsphase widersprechen. Um dem entgegenzuwirken werden modellierte Beschränkungen in Überprüfungen umgewandelt, welche zur Laufzeit durchgeführt werden, um so zu garantieren, dass die Geräte innerhalb der Spezifikationen arbeiten. Das vorgestellte Model-driven Engineering Framework wird schließlich mit Hilfe eines konkreten Anwendungsfalls aus dem Gesundheitsbereich evaluiert.

Keywords:
Internet of Things / Fog computing / Model-Driven Engineering / Code Generation / UML

Created from the Publication Database of the Vienna University of Technology.