Main Content

MOCA - Specifying and detecting model changes based on editing operations

Funded within the DFG Priority Program SPP 1593 "Design for Future - Managed Software Evolution" (2012 - 2018).

In model-based software development, models are primary artifacts that are repeatedly modified during a development process. Therefore, diverse tools are needed that support the handling of versions of models and that can, among other things, compare, merge, and modify models, detect conflicts, and analyze model histories at an adequate level of abstraction. Currently available tools operate on system-level representations of models, which often contain details that are incomprehensible from the user's perspective. Developers, on the other hand, mentally understand models in their external, usually graphical, representation and want changes to models explained at the highest possible level of abstraction, i.e., at the level of editing operations, which include refactorings and other complex operations.

The goal of this project is to raise versioning concepts, algorithms, and tools from a currently system-level to as high a user-level as possible. In particular, this goal includes the specification and recognition of complex editing operations as well as conflict detection and mixing of model evolutions at the level of editing operations. All essential concepts will be formally grounded by graph transformations. The technical implementation of our approach will be based on the well-known Eclipse Modeling Project.

Cooperation partners

Prof. Dr. Udo Kelter (University of Siegen)

Further Information

Project website
Tool support by SiLift