TY - THES A1 - Vogel, Thomas T1 - Model-driven engineering of self-adaptive software T1 - Modellgetriebene Entwicklung von Selbst-Adaptiver Software N2 - The development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by a feedback loop. State-of-the-art approaches prescribe the feedback loop in terms of numbers, how the activities (e.g., monitor, analyze, plan, and execute (MAPE)) and the knowledge are structured to a feedback loop, and the type of knowledge. Moreover, the feedback loop is usually hidden in the implementation or framework and therefore not visible in the architectural design. Additionally, an adaptation engine often employs runtime models that either represent the adaptable software or capture strategic knowledge such as reconfiguration strategies. State-of-the-art approaches do not systematically address the interplay of such runtime models, which would otherwise allow developers to freely design the entire feedback loop. This thesis presents ExecUtable RuntimE MegAmodels (EUREMA), an integrated model-driven engineering (MDE) solution that rigorously uses models for engineering feedback loops. EUREMA provides a domain-specific modeling language to specify and an interpreter to execute feedback loops. The language allows developers to freely design a feedback loop concerning the activities and runtime models (knowledge) as well as the number of feedback loops. It further supports structuring the feedback loops in the adaptation engine that follows a layered architectural style. Thus, EUREMA makes the feedback loops explicit in the design and enables developers to reason about design decisions. To address the interplay of runtime models, we propose the concept of a runtime megamodel, which is a runtime model that contains other runtime models as well as activities (e.g., MAPE) working on the contained models. This concept is the underlying principle of EUREMA. The resulting EUREMA (mega)models are kept alive at runtime and they are directly executed by the EUREMA interpreter to run the feedback loops. Interpretation provides the flexibility to dynamically adapt a feedback loop. In this context, EUREMA supports engineering self-adaptive software in which feedback loops run independently or in a coordinated fashion within the same layer as well as on top of each other in different layers of the adaptation engine. Moreover, we consider preliminary means to evolve self-adaptive software by providing a maintenance interface to the adaptation engine. This thesis discusses in detail EUREMA by applying it to different scenarios such as single, multiple, and stacked feedback loops for self-repairing and self-optimizing the mRUBiS application. Moreover, it investigates the design and expressiveness of EUREMA, reports on experiments with a running system (mRUBiS) and with alternative solutions, and assesses EUREMA with respect to quality attributes such as performance and scalability. The conducted evaluation provides evidence that EUREMA as an integrated and open MDE approach for engineering self-adaptive software seamlessly integrates the development and runtime environments using the same formalism to specify and execute feedback loops, supports the dynamic adaptation of feedback loops in layered architectures, and achieves an efficient execution of feedback loops by leveraging incrementality. N2 - Die Entwicklung von selbst-adaptiven Softwaresystemen erfordert die Konstruktion einer geschlossenen Feedback Loop, die das System zur Laufzeit beobachtet und falls nötig anpasst. Aktuelle Konstruktionsverfahren schreiben eine bestimmte Feedback Loop im Hinblick auf Anzahl und Struktur vor. Die Struktur umfasst die vorhandenen Aktivitäten der Feedback Loop (z. B. Beobachtung, Analyse, Planung und Ausführung einer Adaption) und die Art des hierzu verwendeten Systemwissens. Dieses System- und zusätzlich das strategische Wissen (z. B. Adaptionsregeln) werden in der Regel in Laufzeitmodellen erfasst und in die Feedback Loop integriert. Aktuelle Verfahren berücksichtigen jedoch nicht systematisch die Laufzeitmodelle und deren Zusammenspiel, so dass Entwickler die Feedback Loop nicht frei entwerfen und gestalten können. Folglich wird die Feedback Loop während des Entwurfs der Softwarearchitektur häufig nicht explizit berücksichtigt. Diese Dissertation stellt mit EUREMA ein neues Konstruktionsverfahren für Feedback Loops vor. Basierend auf Prinzipien der modellgetriebenen Entwicklung (MDE) setzt EUREMA auf die konsequente Nutzung von Modellen für die Konstruktion, Ausführung und Adaption von selbst-adaptiven Softwaresystemen. Hierzu wird eine domänenspezifische Modellierungssprache (DSL) vorgestellt, mit der Entwickler die Feedback Loop frei entwerfen und gestalten können, d. h. ohne Einschränkung bezüglich der Aktivitäten, Laufzeitmodelle und Anzahl der Feedback Loops. Zusätzlich bietet die DSL eine Architektursicht auf das System, die die Feedback Loops berücksichtigt. Daher stellt die DSL Konstrukte zur Verfügung, mit denen Entwickler während des Entwurfs der Architektur die Feedback Loops explizit definieren und berücksichtigen können. Um das Zusammenspiel der Laufzeitmodelle zu erfassen, wird das Konzept eines sogenannten Laufzeitmegamodells vorgeschlagen, das alle Aktivitäten und Laufzeitmodelle einer Feedback Loop erfasst. Dieses Konzept dient als Grundlage der vorgestellten DSL. Die bei der Konstruktion und mit der DSL erzeugten (Mega-)Modelle werden zur Laufzeit bewahrt und von einem Interpreter ausgeführt, um das spezifizierte Adaptionsverhalten zu realisieren. Der Interpreteransatz bietet die notwendige Flexibilität, um das Adaptionsverhalten zur Laufzeit anzupassen. Dies ermöglicht über die Entwicklung von Systemen mit mehreren Feedback Loops auf einer Ebene hinaus das Schichten von Feedback Loops im Sinne einer adaptiven Regelung. Zusätzlich bietet EUREMA eine Schnittstelle für Wartungsprozesse an, um das Adaptionsverhalten im laufendem System anzupassen. Die Dissertation diskutiert den EUREMA-Ansatz und wendet diesen auf verschiedene Problemstellungen an, u. a. auf einzelne, mehrere und koordinierte als auch geschichtete Feedback Loops. Als Anwendungsbeispiel dient die Selbstheilung und Selbstoptimierung des Online-Marktplatzes mRUBiS. Für die Evaluierung von EUREMA werden Experimente mit dem laufenden mRUBiS und mit alternativen Lösungen durchgeführt, das Design und die Ausdrucksmächtigkeit der DSL untersucht und Qualitätsmerkmale wie Performanz und Skalierbarkeit betrachtet. Die Ergebnisse der Evaluierung legen nahe, dass EUREMA als integrierter und offener Ansatz für die Entwicklung selbst-adaptiver Softwaresysteme folgende Beiträge zum Stand der Technik leistet: eine nahtlose Integration der Entwicklungs- und Laufzeitumgebung durch die konsequente Verwendung von Modellen, die dynamische Anpassung des Adaptionsverhaltens in einer Schichtenarchitektur und eine effiziente Ausführung von Feedback Loops durch inkrementelle Verarbeitungsschritte. KW - model-driven engineering KW - self-adaptive software KW - domain-specific modeling KW - runtime models KW - software evolution KW - modellgetriebene Entwicklung KW - Selbst-Adaptive Software KW - Domänenspezifische Modellierung KW - Laufzeitmodelle KW - Software-Evolution Y1 - 2018 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-409755 ER - TY - THES A1 - Wätzoldt, Sebastian T1 - Modeling collaborations in adaptive systems of systems T1 - Modellierung von Kollaborationen für adaptive Systeme von Systemen N2 - Recently, due to an increasing demand on functionality and flexibility, beforehand isolated systems have become interconnected to gain powerful adaptive Systems of Systems (SoS) solutions with an overall robust, flexible and emergent behavior. The adaptive SoS comprises a variety of different system types ranging from small embedded to adaptive cyber-physical systems. On the one hand, each system is independent, follows a local strategy and optimizes its behavior to reach its goals. On the other hand, systems must cooperate with each other to enrich the overall functionality to jointly perform on the SoS level reaching global goals, which cannot be satisfied by one system alone. Due to difficulties of local and global behavior optimizations conflicts may arise between systems that have to be solved by the adaptive SoS. This thesis proposes a modeling language that facilitates the description of an adaptive SoS by considering the adaptation capabilities in form of feedback loops as first class entities. Moreover, this thesis adopts the Models@runtime approach to integrate the available knowledge in the systems as runtime models into the modeled adaptation logic. Furthermore, the modeling language focuses on the description of system interactions within the adaptive SoS to reason about individual system functionality and how it emerges via collaborations to an overall joint SoS behavior. Therefore, the modeling language approach enables the specification of local adaptive system behavior, the integration of knowledge in form of runtime models and the joint interactions via collaboration to place the available adaptive behavior in an overall layered, adaptive SoS architecture. Beside the modeling language, this thesis proposes analysis rules to investigate the modeled adaptive SoS, which enables the detection of architectural patterns as well as design flaws and pinpoints to possible system threats. Moreover, a simulation framework is presented, which allows the direct execution of the modeled SoS architecture. Therefore, the analysis rules and the simulation framework can be used to verify the interplay between systems as well as the modeled adaptation effects within the SoS. This thesis realizes the proposed concepts of the modeling language by mapping them to a state of the art standard from the automotive domain and thus, showing their applicability to actual systems. Finally, the modeling language approach is evaluated by remodeling up to date research scenarios from different domains, which demonstrates that the modeling language concepts are powerful enough to cope with a broad range of existing research problems. N2 - Seit einiger Zeit führen ein ansteigender Bedarf nach erweiterter Systemfunktionalität und deren flexible Verwendung zu vernetzten Systemen, die sich zu einem übergeordneten adaptiven System von Systemen (SoS) zusammenschließen. Dieser SoS Zusammenschluss zeigt ein gewünschtes, robustes und flexibles Gesamtverhalten, welches sich aus der Funktionalität der einzelnen Systeme zusammensetzt. Das SoS beinhaltet eine Vielzahl von verschiedenen Systemarten, die sich von eingebetteten bis hin zu Cyber-Physical Systems erstrecken. Einerseits optimiert jedes einzelne System sein Verhalten bezüglich lokaler Ziele. Anderseits müssen die Systeme miteinander interagieren, um neue, zusammengesetzte Funktionalitäten bereitzustellen und damit vorgegebene SoS Ziele zu erreichen, welche durch ein einzelnes System nicht erfüllt werden können. Die Schwierigkeit besteht nun darin, Konflikte zwischen lokalen und globalen Verhaltensstrategien zwischen Systemen innerhalb des SoS zu beseitigen. Diese Doktorarbeit stellt eine Modellierungssprache vor, welche für die Beschreibung von adaptiven SoS geeignet ist. Dabei berücksichtigt die Modellierungssprache die Adaptionslogik des SoS in Form von periodischen Adaptationsschleifen als primäres Sprachkonstrukt. Außerdem übernimmt diese Arbeit den Models@runtime Ansatz, um verfügbares Systemwissen als Laufzeitmodelle in die Adaptationslogik des Systems zu integrieren. Weiterhin liegt der Fokus der Modellierungssprache auf der Beschreibung von Systeminteraktionen innerhalb des SoS. Dies ermöglicht Schlussfolgerungen von individuellem Systemverhalten sowie deren Aggregation zu kollaborativem Verhalten im Kontext von Systeminteraktionen im SoS. Damit unterstützt die entwickelte Modellierungssprache die Beschreibung von lokalem adaptivem Verhalten, die Integration von Wissen über die Modellierung von Laufzeitmodellen und Systeminteraktionen in Form von kollaborativem Verhalten. Alle drei Aspekte werden in die adaptive SoS Architektur integriert. Neben der entwickelten Modellierungssprache führt diese Doktorarbeit Analyseregeln zur Untersuchung des modellierten SoS ein. Diese Regeln ermöglichen die Erkennung von Architekturmustern und möglichen Schwächen im Systementwurf. Zusätzlich wird eine Simulationsumgebung für die Modellierungssprache präsentiert, welche die direkte Ausführung von einer modellierten SoS Architektur erlaubt. Die Analyseregeln und die Simulationsumgebung dienen demnach sowohl der Verifizierung von Systeminteraktionen als auch der spezifizierten Adaptationslogik innerhalb des SoS. Die vorliegende Arbeit implementiert die vorgestellten Konzepte der Modellierungssprache durch deren Abbildung auf einen aktuellen Standard im Automobilbereich und zeigt damit die Anwendbarkeit der Sprache auf gegenwärtige Systeme. Zum Schluss findet eine Evaluierung der Modellierungssprache statt, wobei aktuelle Forschungsszenarien aus unterschiedlichen Bereichen erneut mit der vorgestellten Sprache modelliert werden. Dies zeigt, dass die Modellierungskonzepte geeignet sind, um weite Bereiche existierender Forschungsprobleme zu bewältigen. KW - deurema modeling language KW - adaptive systems KW - systems of systems KW - runtime models KW - feedback loop modeling KW - collaborations KW - Deurema Modellierungssprache KW - Kollaborationen KW - adaptive Systeme KW - Systeme von Systemen KW - Laufzeitmodelle KW - Feedback Loop Modellierung Y1 - 2016 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-97494 ER -