Tailor-made model comparison: how to customize EMF Compare for your modeling language
Diffing and merging models is important for many users working with modeling languages. EMF Compare is a framework supporting model differencing and merging for EMF-based models. With EMF Compare users can determine changes they have applied to their models, identify overlaps between distinct models and merge changes that have been performed on the same model by different users in parallel.
However, in many modeling projects, the modeling languages and tools for showing and editing models are tailored to the specific needs of the targeted users. In some modeling projects, models are edited in a diagramming editor, others may use a form-based or table-based UI for editing models. Also custom behavior in modeling editors that make users more efficient in the model editing process is no exception in real-life modeling projects.
If you apply EMF Compare to such modeling projects as is, the results can not and will not be satisfactory out-of-the-box. EMF Compare is and can only be a model comparison framework rather than a one-size-fits-all tool. Therefore it is very flexible and highly customizable and can be tailored to the specific needs of your modeling language/model.
In this talk, we show you how you can add tailor-made model comparison capabilities to your modeling project by customizing and integrating EMF Compare in various ways. We explain the extension mechanisms based on examples from customizations that we have actually developed for Papyrus UML.