The generic emf comparison engine uses statistics in order to match elements, it compare their content, their type, the relations with other objects and their name. This process gives good results on many metamodels, especially specific ones, but this process can be costly for instance on UML models because we’ve got many attributes on each element. On the other side, big models and standards ones are often serialized in XMI using Id’s .
The generic engine now uses these id’s if they are available, in order to find matching elements, the cost is just about zero and the correctness is good. Next step is to use the functionnal Id’s one may define in an Ecore metamodel.
Here comes a screenshot showing the current state of the emf compare project, comparing two UML files.