Model-Driven Engineering of Self-Adaptive Software with EUREMA

被引:79
|
作者
Vogel, Thomas [1 ]
Giese, Holger [1 ]
机构
[1] Univ Potsdam, Hasso Plattner Inst, Potsdam, Germany
关键词
Design; Languages Model-driven engineering; modeling language; models at runtime; model interpreter; self-adaptive software; feedback loops; layered architecture; software evolution; ARCHITECTURE MODELS; ADAPTATION; SYSTEMS; SUPPORT;
D O I
10.1145/2555612
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
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 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.
引用
收藏
页数:33
相关论文
共 50 条
  • [41] Adaptive Message Restructuring Using Model-Driven Engineering
    Yin, Hang
    Giaimo, Federico
    Andrade, Hugo
    Berger, Christian
    Crnkovic, Ivica
    [J]. INFORMATION TECHNOLOGY: NEW GENERATIONS, 2016, 448 : 773 - 783
  • [42] Model Engineering for Model-Driven Engineering
    van Lamsweerde, Axel
    [J]. EICS 2010: PROCEEDINGS OF THE 2010 ACM SIGCHI SYMPOSIUM ON ENGINEERING INTERACTIVE COMPUTING SYSTEMS, 2010, : 211 - 211
  • [43] Model-Aware Software Engineering A Knowledge-based Approach to Model-Driven Software Engineering
    Buchmann, Robert Andrei
    Cinpoeru, Mihai
    Harkai, Alisa
    Karagiannis, Dimitris
    [J]. PROCEEDINGS OF THE 13TH INTERNATIONAL CONFERENCE ON EVALUATION OF NOVEL APPROACHES TO SOFTWARE ENGINEERING, 2018, : 233 - 240
  • [44] Model-driven engineering
    Schmidt, DC
    [J]. COMPUTER, 2006, 39 (02) : 25 - 31
  • [45] Model-Driven Engineering and Safety-Critical Embedded Software
    Shukla, Sandeep K.
    [J]. COMPUTER, 2009, 42 (09) : 93 - 95
  • [46] Model-driven engineering for software migration in a large industrial context
    Fleurey, Franck
    Breton, Erwan
    Baudry, Benoit
    Nicolas, Alain
    Jezequel, Jean-Marc
    [J]. MODEL DRIVEN ENGINEERING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2007, 4735 : 482 - +
  • [47] Towards a Generic Traceability Framework for Model-driven Software Engineering
    Grammel, Birgit
    [J]. FUTURE TRENDS OF MODEL-DRIVEN DEVELOPMENT, PROCEEDINGS, 2009, : 44 - 47
  • [48] Using model-driven engineering to automate software language translation
    Lano, Kevin
    Siala, Hanan
    [J]. AUTOMATED SOFTWARE ENGINEERING, 2024, 31 (01)
  • [49] Engineering Trustworthy Self-Adaptive Software with Dynamic Assurance Cases
    Calinescu, Radu
    Weyns, Danny
    Gerasimou, Simos
    Iftikhar, Muhammad Usman
    Habli, Ibrahim
    Kelly, Tim
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2018, 44 (11) : 1039 - 1069
  • [50] SASE 2008: First workshop on self-adaptive software engineering
    Seriai, Abdelhak
    [J]. CSMR 2008: 12TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: DEVELOPING EVOLVABLE SYSTEMS, 2008, : 340 - 341