Forschungsthemen
[GB] Systematic Annotation in Model Transformation Chains
Model-Driven Engineering (MDE) deals with refinement of models towards a specific domain. Such refinement can be implemented via model-to-model transformations. In some cases, it is needed to support chains of transformations, where additional domain specific information is required for each step of the chain. Model-Driven Performance Engineering (MDPE) is one example application of a four-step transformation chain.
Normally, additional data is needed as input in each transformation step besides a number of source models to be translated to a number of target models. Profiles, such as proposed for the Unified Modelling Language (UML), are one solution in order to inject such annotations into a specific step of a transformation chain. Profiles provide a model extension mechanism on the meta-layer. Hence, annotations are directly added to the source-models of a transformation. We claim that this makes the source models hard to maintain since source models are polluted with this additional information, which is needed to generate the target models. In case the annotations are not used for this, but for a later transformation step, all in-between steps needs to be unnecessarily polluted with the annotations in the same way. In the MDPE case, for instance, five different kinds of annotations are defined based on business process models which are used as input for a four step transformation chain. The annotations are used in the second transformation step and the third transformation step. Thus, it is not needed to deal with the annotated information in, for instance, the first transformation step.
We claim that a more flexible solution than a profile based one is needed to implement model annotations in transformation chains as described above. Such a solution needs to support annotations based on arbitrary models in a transformation chain. A brief description about our first ideas towards a solution follows:
Figure 1 gives an overview of our proposed architecture. In order to annotate a Source Model (development model in Figure 1) in a non-intrusive way, without actually altering or extending it, we propose a systematic architecture integrating the following three model types in a systematic manner:
- Annotation and Composition Models are used in order to represent annotations including the linkage information about which annotation is associated with which model element in the original source models. Hence, an Annotation and Composition Model consists of two parts: One for the annotation itself and one for the linkage information. Due to the fact that the linkage information is included in the Annotation and Composition Models, we are not required to pollute the original Source Model with these data.
- Tracing Models contain the information about which source model element has been transformed to which target model element in a Transformation Chain (see centre of Figure 1). Hence, tracing models contain associations between models conforming to two different meta-models.
- A M2M Navigation Model is used to associate models in a Transformation Chain with the related Tracing Models. This is required since we assume that the models in a transformation chain are non-changeable and therefore cannot be polluted with the tracing model linkage information.
Within this thesis, a prototype for the proposed architecture needs to be implemented. In detail, two modules are required, one for the generic purpose of model annotation (see Annotation Tool in Figure 1) and one for generically using the annotated information at an arbitrary step in a transformation chain. Based on a discovery and discussion of implementation options, a solution needs to be implemented and applied as part of the implementation of the MDPE process.
Betreuer: Jendrik Johannes