Model-Driven Engineering

Applications in ubiquitous environments are required to adapt dynamically to context of use situations unforeseeable at design time. Application code generated from models at design time fail to provide the required flexibility for adaptations at runtime. A solution to this problem is the use of models at runtime. Making the models available at runtime enables the reasoning about the structure of the application and the decisions of the developer when she is no longer available.

The use of Runtime Models also has several advantages for the development of adaptive applications. Models can be queried at runtime in order to gain information and detect the situations that require an adaptation of the application. In addition, a structural change in the Runtime Models leads to an adaptation of the application. This means, by reconfiguring the models the application can be adapted to the current context of use. This is an advantage because models operate on a high level of abstraction and are thus easy to understand and reconfigure. Additionally several techniques for Model Reconfiguration already exist.

Our research in this area mainly focuses on techniques that can be applied for describing Model Reconfigurations. This encompasses techniques for reconfiguring models of specific languages and their properties as well as high level reconfiguration operations that enable the designer of an adaptive application to describe complex workflows of reconfigurations of several models.