lundi 26 mars 2007

EMF Compare now uses XMI_ID

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.

mardi 20 mars 2007

XML files comparison/merge

On the EMFT mailling-list Martin Taal asked me if EMF compare component was usefull when one has to handle XML file.

Thanks to the EMF/XSD project this feature just comes at no cost ! If you create your metamodel using an XSD then the model will be serialized in it’s native XML format but in the emf compare point of view it’s just another EMF model ! Then you’re able to compare, and of course merge modifications on the files.
Here’s a screenshot of the tool comparing two XML files coming from the well known “Library” example (sorry I did not put nice icons on the models ;) )

The XSD project really should have more visibility, it’s obviously usefull in many use cases where XML matters and EMF provides so much nice features, you should not miss that !

mardi 13 mars 2007

Joining the community

First time blogging , many first times these days :)
As the EMF Compare project lead I had to go to EclipseCon, the component has just been accepted so it was the first time for me to follow EclipseCon from the inside and not from Planet Eclipse.
The event was just great, the interesting people are countless and the Eclipse world is amazing by many aspects. I attended many talks, for a modelling guy like me many stuffs were interesting.
EMF/EMFT was present everywhere, it’s the basis for many tools and software and it deserves to, it just cover the need everybody has using data and models, serialization, notification, validation, transaction or now relational database storage thanks to the Teneo project.
EclipseCon allow you to meet the people behind all theses projects and to have a quick glance of the other projects, the data binding stuffs were just great as the Zest framework from Ian Bull and the UML talk done by Kenn Hussey.
I did a panel there about the EMF Compare component with Antoine Toulme, Jean Bezivin and Ed Merks, it was quite good as the audience had many reactions. I emphasized there the fact that we are aiming to provide a great basis for other tools to work with, a basic UI for comparison and merge (same as the JDT) but no diagram support yet. As the tool is metamodel agnostic, meaning you are able to compare UML or Ecore or anything else, questions were asked about providing special behavior like, for instance, custom dependencies management while merging. Good point there, we’ll try to provide a mecanism for that!
I also did a poster session about the code generator Acceleo, nice reactions there too, people would like to use a MDA approach but most of the tools are quite hard to tackle, Acceleo is just great about that, it’s easy to install, to use and you may generate any kind of text.
In a nutshell the event was great, special thanks to all the staff there and I’m looking forward to see everybody back at Eclipse Summit !