Prototypes

For demonstrating the feasibility of our proposed approach, a prototypical model versioning system is implemented based on emerging Eclipse open source technologies.

Generic Versioning Framework.
In AMOR, a generic versioning framework will be established which supports state-based versioning capabilities for models. A fully generic Versioning Assistant will be developed based on the EMF tree viewer which is extended for visualizing conflicts between model versions and functionalities for their resolution. As model repository, we plan to use the Eclipse Modeling Framework  (EMF) which represents the reference implementation of the Meta Object Facility standard of the Object Management Group (OMG). Based on EMF, we will develop or reuse existing components for supporting the generic model versioning process. First of all, we have to clarify if existing projects such as EMF compare  are suitable for the comparison phase. Here it has to be evaluated, which information will be used for the identification of two equivalent elements, e.g., by using identifiers (implicit or explicit) or by comparing name and structure similarities of elements, i.e. based on heuristics. For the other three phases, since we are currently not aware of any Eclipse components which could serve for these tasks, dedicated components have to be developed from scratch.

Adaptation Components.
After the establishment of the generic versioning components, additional components are needed for allowing the adaptation of the versioning system, i.e., the Advanced Conflict Finder and the Conflict Resolution Reasoner subcomponents have to be developed on top of the generic framework.
Advanced Conflict Finder. The Advanced Conflict Finder has to provide an editor for defining semantic views and for establishing bridges between tool metamodels and semantic view metamodels. We plan to employ the Graphical Modeling Framework  (GMF) for building a graphical semantic view designer and TROPIC , a framework for defining bridges between metamodels, which has been developed in the course of our previous, successfully completed FIT-IT project ModelCVS. Because the DSLs’ metamodels and the semantic view metamodels are expressed in the same formalism, no additional comparison and conflict detection methods have to be implemented. Instead, the comparison and the conflict detection methods of the syntactic view can be reused for the model versions in the semantic view. For defining operation-based conflicts, a rule-based textual DSL will be developed. Therefore, we plan to employ emerging frameworks for EMF (e.g., xText , TCS ), which allow the definition of a textual syntax for a metamodel, similarly as GMF allows the definition of a graphical syntax.


Conflict Resolution Reasoner. Since the Observer component of the Conflict Resolution Reasoner produces vast masses of data, the storage thereof has to be implemented efficiently. On top of these data we are planning to use the open source platform Pentaho  which provides amongst others powerful analysis capabilities in the sense of data mining (subproject Weka ), thus building the basis for our pattern miner component. The found patterns, in turn, are going to be memorized in the relational storage repository. Besides the automatic detection of patterns, also the manual definition thereof should be enabled. Therefore, a Conflict Resolution Pattern Editor based on GMF will be established.