Project Description

The main goal of our research project AMOR (Adaptable Model Versioning) is the invention of semantic-based mechanisms to leverage version control techniques for the area of MDE. For this, a prototype will be developed and a case study will be conducted taking up the UML-based MDE-tool Enterprise Architect. Thus, AMOR will represent a research test bed as well as an industrial showcase for further commercial exploitation. Along this overall research focus, AMOR pursues three key research goals as depicted in Figure 1, each of them leading to several research challenges, as described in the following.

Key Research Goal 1: Precise Conflict Detection. The first key research goal of AMOR is to achieve a precise conflict detection, i.e., previously undetected conflicts and previously wrongly indicated conflicts should be avoided. To achieve this goal, our intention is to consider, on the one hand, knowledge about the type of modifications the models have undergone in the course of their evolution and, on the other hand, knowledge about the semantics of the modeling concepts used. This first key research goal leads to the following two main challenges:
Semantic-based Conflict Detection. The first challenge is to understand the semantics of a specific modeling language in a way that the detection of additional conflicts and the elimination of wrongly reported conflicts are facilitated. Thereby, representations have to be established which are able to (1) explicitly point out semantically equivalent concepts, i.e., mapping all the concepts of a modeling language to a subset, that is free of syntactic sugar, and (2) bring out the static as well as the behavioral semantics, i.e., mapping the concepts to a representation that is able to point out specific aspects like, e.g., in case of behavioral semantics the flow of control.
Operation-based Conflict Detection. The second challenge includes the problem of exploiting the knowledge about the executed operations during model modification. The knowledge that a modeler has applied some kind of refactoring pattern for example, which inherently indicates the modeler’s intention behind a modification, is more meaningful for the conflict detection phase than the knowledge that a modeler has applied some unrelated set of basic insert, update and delete operations.

Key Research Goal 2: Intelligent Conflict Resolution. The second key research goal of AMOR is to provide means for intelligent conflict resolution support, specifically aiming at techniques for the representation of differences between model versions and relieving users from repetitive tasks by suggesting proper resolution strategies, thus enhancing productivity and consistency of versioning. This second key research goal leads to the following two main challenges:
Graphical Visualization of Differences. The first challenge is to find an appropriate graphical representation of conflicting modifications in order to alleviate the perception thereof either in form of (1) the models’ concrete syntax or, if not applicable, in form of (2) the models’ abstract syntax.
Suggestions for Conflict Resolutions. The second challenge is to provide valuable suggestions in the conflict resolution phase stemming either from explicit cooperate design principles (i.e., static knowledge) or from implicit recurring application of best practices (i.e., dynamic knowledge), which can be made available by observing the user behavior in the conflict resolution phase. This comprises necessary solutions for (1) automatically discovering meaningful conflict resolution patterns with appropriate data mining techniques, (2) establishing similarity measures between resolution situations in order to match a current situation with a pattern stored in the repository, and finally, (3) developing a storage format capturing knowledge about users’ resolution behavior and conflict resolution patterns.

Key Research Goal 3: Adaptable Versioning Framework. The third key research goal of AMOR is to provide an adaptable versioning framework allowing for proper versioning support while ensuring generic applicability for various DSLs. That means, the AMOR framework can be used in two different ways, either in a generic sense, i.e., out of the box, or by adapting the framework to DSLs and their corresponding modeling tools on basis of certain well-defined extension points. With this, the user is empowered to flexibly balance between reasonable adaptation efforts and the needed level for versioning support. The challenges associated with this research goal comprise several kinds of adaptations, partly based on the research goals described above:
Adaptation of Conflict Detection. The AMOR framework needs to be designed in order to allow the incorporation of state-based versioning mechanisms, i.e., without considering modifying operations, and additionally to employ operation-based and semantic-based mechanisms as described above. Furthermore, adaptation of the versioning granularity should be possible, regarding the semantics of the modeling concepts provided by the DSL (e.g., attributes, classes or whole packages).
Adaptation of Conflict Resolution. The AMOR framework should also allow adaptation of the level of conflict resolution support, optionally incorporating static and/or dynamic conflict resolution knowledge.
Adaptation of Tool Integration. Finally, the integration of the AMOR framework into the user’s modeling tool should be flexible to allow for a tight integration in terms of, e.g., a plug-in mechanism or a loose integration requiring a separate versioning front-end. For exploiting the full potential of AMOR’s capabilities comprising operation-based versioning and representation of conflicts and their resolution in the concrete modeling syntax, a tight integration is required.