Skip to content

Vogel and Giese

Fábio Nogueira edited this page Feb 2, 2016 · 5 revisions

[Related Work](https://github.com/dsoa-team/dsoa-platform/wiki/Related Work)

Vogel and Giese

Vogel and Giese [1][2] propose the use of MDE techniques in order to bear the semantic gap between the concepts found in the problem domain and those found in the solution domain. The core idea is that adaptation managers should be supported by a simple API, which basically embeds the concepts in the problem domain, enabling it to abstract concepts that are platform-specific. In fact, they propose that this API is built based on various abstract runtime models (referred to as target models), each one focusing on a distinct concern over which the system can be analysed. These abstract models are transformed into a low level model comprising concepts of the solution level (referred to as source model). The source model is supposed to be causally connected to the running system, indicating that changes in the system are reflected on the model and the other way around. In the same way that the source model is synchronized with the running system, target models are synchronized with the source model, guaranteeing that managers will have access to an up-to-date vision of the system. Together, source and target models compose the knowledge base that is used by the adaptation manager in its implementation of the feedback loop.

To implement their ideas, they developed a transformation engine based on the Eclipse Modeling Framework(EMF) and Triple Graph Grammar (TGG). A very interesting aspect concerning this approach is that it enables changing platform related aspects while keeping adaptation managers free from this kind of impact.

Another important contribution of these authors [3][4] consists in bringing the concept of megamodels to runtime. A megamodel is basically a model representing models (and metamodels) and relations between them as elements. In this context, the authors propose the use of megamodels to represent the relationship between the different models that usually compose the knowledge base used in the implementation of feedback loops.

In order to formalize their ideas, they firstly identified and classified the models that are usually used at runtime in self-adaptive systems according to their core purposes. It is important to observe that in their categorization process, they considered any conceivable runtime model, regardless of whether they are causally connected to a running system or not. According to this perspective, models can be classified as:

  • Implementation models
  • Configuration and Architectural models
  • Context and Resources models
  • Configuration Space and Variability models
  • Rules, Strategies, Constraints, Requirements and Goals models

Besides classifying runtime models, they identified typical relations between these models. In their vision, these relations are activities which take models as input and produce models as outputs. A model representing runtime activities and corresponding required/produced models is referred to as a megamodel. Considering the relevance of the information comprised in a megamodel from the point of view of runtime analyses, they propose that megamodels are kept at runtime.

The first step in the direction of specifying a megamodel is defining a modeling language, which would be able to represent models and the relations between them. In this context, the authors propose a new Domain Specific Modeling Language referred to as EUREMA (ExecUtable RuntimE MegAmodels) [5].

References

  1. [Incremental Model Synchronization for Efficient Run-Time Monitoring] (http://ceur-ws.org/Vol-509/paper_8.pdf)
  2. Adaptation and Abstract Runtime Models
  3. [The Role of Models and Megamodels at Runtime] (https://www.hpi.uni-potsdam.de/giese/misc/publications/pdf/VogelSG11_LNCS6627.pdf)
  4. [Toward Megamodels at Runtime] (http://ceur-ws.org/Vol-641/paper_14.pdf)
  5. [Model-Driven Engineering of Adaptation Engines for Self-Adaptive Software: Executable Runtime Megamodels] (https://publishup.uni-potsdam.de/opus4-ubp/files/6255/tbhpi66.pdf)

Clone this wiki locally