• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • Tagged with
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Model-driven engineering of adaptation engines for self-adaptive software : executable runtime megamodels

Vogel, Thomas, Giese, Holger January 2013 (has links)
The development of self-adaptive software requires the engineering of an adaptation engine that controls and adapts the underlying adaptable software by means of feedback loops. The adaptation engine often describes the adaptation by using runtime models representing relevant aspects of the adaptable software and particular activities such as analysis and planning that operate on these runtime models. To systematically address the interplay between runtime models and adaptation activities in adaptation engines, runtime megamodels have been proposed for self-adaptive software. A runtime megamodel is a specific runtime model whose elements are runtime models and adaptation activities. Thus, a megamodel captures the interplay between multiple models and between models and activities as well as the activation of the activities. In this article, we go one step further and present a modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that considerably eases the development of adaptation engines by following a model-driven engineering approach. We provide a domain-specific modeling language and a runtime interpreter for adaptation engines, in particular for feedback loops. Megamodels are kept explicit and alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamically adjusted to adapt feedback loops. Thus, EUREMA supports development by making feedback loops, their runtime models, and adaptation activities explicit at a higher level of abstraction. Moreover, it enables complex solutions where multiple feedback loops interact or even operate on top of each other. Finally, it leverages the co-existence of self-adaptation and off-line adaptation for evolution. / Die Entwicklung selbst-adaptiver Software erfordert die Konstruktion einer sogenannten "Adaptation Engine", die mittels Feedbackschleifen die unterliegende Software steuert und anpasst. Die Anpassung selbst wird häufig mittels Laufzeitmodellen, die die laufende Software repräsentieren, und Aktivitäten wie beispielsweise Analyse und Planung, die diese Laufzeitmodelle nutzen, beschrieben. Um das Zusammenspiel zwischen Laufzeitmodellen und Aktivitäten systematisch zu erfassen, wurden Megamodelle zur Laufzeit für selbst-adaptive Software vorgeschlagen. Ein Megamodell zur Laufzeit ist ein spezielles Laufzeitmodell, dessen Elemente Aktivitäten und andere Laufzeitmodelle sind. Folglich erfasst ein Megamodell das Zusammenspiel zwischen verschiedenen Laufzeitmodellen und zwischen Aktivitäten und Laufzeitmodellen als auch die Aktivierung und Ausführung der Aktivitäten. Darauf aufbauend präsentieren wir in diesem Artikel eine Modellierungssprache für ausführbare Megamodelle zur Laufzeit, EUREMA genannt, die aufgrund eines modellgetriebenen Ansatzes die Entwicklung selbst-adaptiver Software erleichtert. Der Ansatz umfasst eine domänen-spezifische Modellierungssprache und einen Laufzeit-Interpreter für Adaptation Engines, insbesondere für Feedbackschleifen. EUREMA Megamodelle werden über die Spezifikationsphase hinaus explizit zur Laufzeit genutzt, um mittels Interpreter Feedbackschleifen direkt auszuführen. Zusätzlich können Megamodelle zur Laufzeit dynamisch geändert werden, um Feedbackschleifen anzupassen. Daher unterstützt EUREMA die Entwicklung selbst-adaptiver Software durch die explizite Spezifikation von Feedbackschleifen, der verwendeten Laufzeitmodelle, und Adaptionsaktivitäten auf einer höheren Abstraktionsebene. Darüber hinaus ermöglicht EUREMA komplexe Lösungskonzepte, die mehrere Feedbackschleifen und deren Interaktion wie auch die hierarchische Komposition von Feedbackschleifen umfassen. Dies unterstützt schließlich das integrierte Zusammenspiel von Selbst-Adaption und Wartung für die Evolution der Software.
2

Modular Specification of Self-Adaptive Systems with Models at Runtime using Relational Reference Attribute Grammars

Schöne, René 18 December 2023 (has links)
Adaptation enables a reaction to a changing environment. For traditional software development, that means changing the design and implementation of the software in a potentially complex and expensive process. If requirements are not known until the runtime of a software system, this system must be able to cope with changes during its runtime. For this, self-adaptive systems (SAS) were created. They have internal knowledge about themselves and their environment to reason about changes and take appropriate actions. Many approaches aiming to build such systems have been published since the start of the research area at the beginning of the 21st century. However, it is difficult to find an appropriate approach, even when all requirements of a scenario the system should be built for are known. If no suitable approach can be found, software developers have to built a new system leading to high development costs and potentially inefficient solutions due to the complexity of the system. This thesis follows two goals: (1) To make approaches building SAS more comparable through a feature model describing features of SAS, and (2) to provide a novel way of specifying SAS concisely using reference attribute grammars (RAGs) providing efficient systems. RAGs originate from the research field of compiler construction and enable the concise description of parts of the internal knowledge mentioned above as well as of the computation of the actions to cope with recognised changes. To make RAGs fully usable, this thesis presents two extensions: Relational RAGs enable the efficient handling of relations required for knowledge graphs, and Connected RAGs let RAG-based system communicate with other external systems to both recognise changes and execute actions. To evaluate the novel approaches, a classification of 30 approaches for the feature model and several case studies in the areas smart home, robotics, and system orchestration were conducted. It can be shown, that significantly less code is required to specify SAS. To specify the computation, 14.5 % to 28.7 % less code was required, whereas in another case study only 6.3 % of the total code was manually written and the rest was generated. The efficiency is similar to the best comparable approaches for graph queries. Furthermore, using additional optimizations (incremental evaluation), the execution time can be shown to be faster by a factor of 167.88 less albeit being sometimes by 50.0 % slower for very small workloads and specific queries. In a more realistic, extrapolated experiment, using incremental evaluation creates speed-up factors between 6.63 and 44.93. With the contributions in this thesis, existing approaches can be selected more precisely, new approaches can classify themselves within the research area, and the development of self-adaptive systems is possible using RAG-based systems.

Page generated in 0.095 seconds