Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "EMF Compare/UML Compare"

Line 9: Line 9:
 
The first one should be simpler as it uses a builtin mechanism of EMFcompare but with less ability to get out of the border of what it had been designed for while the second one would let us define whatever we want but with an increased implementation complexity.
 
The first one should be simpler as it uses a builtin mechanism of EMFcompare but with less ability to get out of the border of what it had been designed for while the second one would let us define whatever we want but with an increased implementation complexity.
  
We now detail the two options, their pros and cons, and finally provide our choosen solution
+
We now detail the two options, their pros and cons, and finally conclude and propose a solution.
  
 
== Builtin extension mechanism ==
 
== Builtin extension mechanism ==
 +
 +
The extension mechanism is not working in essence.
  
 
== Implements specific Diff/Match engine ==
 
== Implements specific Diff/Match engine ==

Revision as of 04:26, 14 April 2011

The primary goal of this section is to provide technical specification of the UML Comparison engine. This engine will provide support of UML specific concepts and operations.

Overview

There are two ways of implementing UML Compare engine:

  • Use the provided extension mechanism and override the visit() method to implement UML specific difference semantic
  • Implement our own Diff/Match Engine (or override Generic Diff/Mathc engine if suited) to implement specific diff detection.

The first one should be simpler as it uses a builtin mechanism of EMFcompare but with less ability to get out of the border of what it had been designed for while the second one would let us define whatever we want but with an increased implementation complexity.

We now detail the two options, their pros and cons, and finally conclude and propose a solution.

Builtin extension mechanism

The extension mechanism is not working in essence.

Implements specific Diff/Match engine

The shame is that (from our comprehension), the extension mechanism does not work (we will explain that hereafter) and even if it could be made working by some fixes, it does not scale well in essence.

  • Suggestion*

Make the *AbstractDiffExtension#visit()* method deprecated in EMF Compare 1.2 and remove it from 2.0

The GenericXXXEngine (where XXX is Match or Diff) implementations provide useful base implementation of EMF model comparison. Then we will

UML Compare match engine

There is no need to subclass

UML Compare diff engine

Profile / Stereotype support

Testing support

Back to the top