• search hit 1 of 4
Back to Result List

Model-Driven engineering of self-adaptive software with EUREMA

  • The development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by feedback loops. The engine often describes the adaptation by runtime models representing the adaptable software and by activities such as analysis and planning that use these models. To systematically address the interplay between runtime models and adaptation activities, runtime megamodels have been proposed. A runtime megamodel is a specific model capturing runtime models and adaptation activities. In this article, we go one step further and present an executable modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that 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 feedback loops. Megamodels are kept alive at runtime and by interpreting them, they are directly executed to run feedback loops. Additionally, they can be dynamicallyThe development of self-adaptive software requires the engineering of an adaptation engine that controls the underlying adaptable software by feedback loops. The engine often describes the adaptation by runtime models representing the adaptable software and by activities such as analysis and planning that use these models. To systematically address the interplay between runtime models and adaptation activities, runtime megamodels have been proposed. A runtime megamodel is a specific model capturing runtime models and adaptation activities. In this article, we go one step further and present an executable modeling language for ExecUtable RuntimE MegAmodels (EUREMA) that 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 feedback loops. Megamodels are kept 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 explicit at a higher level of abstraction and it enables solutions where multiple feedback loops interact or operate on top of each other and self-adaptation co-exists with offline adaptation for evolution.show moreshow less

Export metadata

Additional Services

Share in Twitter Search Google Scholar Statistics
Metadaten
Author:Thomas VogelORCiDGND, Holger GieseORCiDGND
DOI:https://doi.org/10.1145/2555612
ISSN:1556-4665 (print)
ISSN:1556-4703 (online)
Parent Title (English):ACM transactions on autonomous and adaptive systems
Publisher:Association for Computing Machinery
Place of publication:New York
Document Type:Article
Language:English
Year of first Publication:2014
Year of Completion:2014
Release Date:2017/03/27
Tag:Design; Languages Model-driven engineering; feedback loops; layered architecture; model interpreter; modeling language; models at runtime; self-adaptive software; software evolution
Volume:8
Issue:4
Pagenumber:33
Organizational units:An-Institute / Hasso-Plattner-Institut für Digital Engineering gGmbH
Peer Review:Referiert