Equality matching and similarity flooding

This example contains a set of matching transformations used to produce a weaving model. The example is an implementation of an adapted version of the Similarity Flooding algorithm [1] The example contains three transformations:

Accuracy of the weaving model

The final output weaving model contains links generated automatically by the matching transformations. The accuracy of the weaving model depends basically on two factors: how the similarities are calculated, and how to select the best similarity values.
In this simple example, the main matching criteria is the name equality between elements (e.g., author = author, title = title, etc.). There are many other criteria that are not covered in this example (dictionaries, string matching, etc.). The best results are selected by looping over all the elements of the left model and by choosing the right element with the best corresponding similarity value.


Executing the transformations

There is an Ant Script (scripts/executeAll.xml) that produces a weaving model (models/mw_refined_match.ecore) between two KM3 models (models/Book-KM3.ecore and models/Publication-KM3.ecore). The script executes the following actions:

Loading the weaving model into AMW:

The weaving model (models/mw_refined_match.ecore) can be loaded by double-clicking on the file or by using the wizard.


1. Melnik, S. Generic Model Management: Concepts and Algorithms, Ph.D. Dissertation, University of Leipzig, Springer LNCS 2967, 2004