Adaptation and Abstract Runtime Models
arXiv:1805.07397 · doi:10.1145/1808984.1808989
Abstract
Runtime adaptability is often a crucial requirement for today's complex software systems. Several approaches use an architectural model as a runtime representation of a managed system for monitoring, reasoning and performing adaptation. To ease the causal connection between a system and a model, these models are often closely related to the implementation and at a rather low level of abstraction. This makes them as complex as the implementation and it impedes reusability and extensibility of autonomic managers. Moreover, the models often do not cover different concerns, like security or performance, and therefore they do not support several self-management capabilities at once. In this paper we propose a model-driven approach that provides multiple architectural runtime models at different levels of abstraction as a basis for adaptation. Each runtime model abstracts from the underlying system and platform leveraging reusability and extensibility of managers that work on these models. Moreover, each model focuses on a specific concern which simplifies the work of autonomic managers. The different models are maintained automatically at runtime using model-driven engineering techniques that also reduce development efforts. Our approach has been implemented for the broadly adopted Enterprise Java Beans component standard and its application is presented in a self-healing scenario requiring structural adaptation.
References in corpus (1)
Cited by in corpus (11)
- Model-Driven Engineering of Self-Adaptive Software with EUREMA
- The Role of Models and Megamodels at Runtime
- A language for feedback loops in self-adaptive systems: Executable runtime megamodels
- mRUBiS: An Exemplar for Model-Based Architectural Self-Healing and Self-Optimization
- Efficient Utility-Driven Self-Healing Employing Adaptation Rules for Large Dynamic Architectures
- Improving Scalability and Reward of Utility-Driven Self-Healing for Large Dynamic Architectures
- Taming Uncertainty in the Assurance Process of Self-Adaptive Systems: a Goal-Oriented Approach
- Requirements and Assessment of Languages and Frameworks for Adaptation Models
- Towards Highly Scalable Runtime Models with History
- A Scalable Querying Scheme for Memory-efficient Runtime Models with History
- Micro-controllers: Promoting Structurally Flexible Controllers in Self-Adaptive Software Systems