Ever tried using EMF Compare to compare your models only to see it fail somehow? Metamodels often evolve, making the old models unusable. Sometimes the models themselves aren't valid and cannot be loaded through EMF. On such occasion, trying to compare the files through EMF Compare simply failed, opening a blank editor and logging an exception.
That left you with no way to compare your files, save for renaming them to another extension. Well fear no more! As of 0.9M3, EMF Compare now displays a pretty error message when something goes wrong while loading the models.
Apart from frustrating you with this all too often seen red icon, this dialog provides you with the option to compare the files as text. Oh goodie!
Well of course, xmi isn't really a human-friendly language ... but at least this is way better than nothing to spot that stupid typo and make the model useable again :).
I agree with you, model evolution is a serious problem. But you can after doing changes in ecore create simple XML transformation to update your existing instances of data. We do this in our system and this works fine.
ReplyDeleteBTW Is it possible to provide two different definition of EPackage to each pane of editor after failure loading models (current and the old one from CVS)?
Hi Grzegorz and thanks for your comment,
ReplyDeleteI had plans to investigate fetching old metamodel versions from CVS when loading the model with the new one fails, yet couldn't have a try at it yet.
This causes problems though since only a few users have their metamodels in the workspace where I can retrieve VCS information. Most of the time they're installed in the plugins of the running Eclipse.
Would be truly nice though!
Hi guys,
ReplyDeleteCOPE provides a nice solution to the problem of model migration:
http://cope.in.tum.de/pmwiki.php
Regards,
Cédric Vidal