tags:

views:

113

answers:

1

One of the purposes for XMI (XML Metadata Interchange) is to allow and easy interchange of metadata between UML modeling tools and MOF- based metadata repositories in distributed heterogeneous environments. Although XMI standard has been designed for the above mentioned purpose, it has been largely ineffective in the interchange of UML 2.x models. This ineffectiveness is due to two major reasons:

  1. XMI 2.x is large and complex in its own right, since it attempts to solve a technical problem that is more ambitious than exchanging UML 2.x models (omg.org, 2008). Particularly, it tries to provide a mechanism to facilitate the exchange of any arbitrary modelling language defined by the OMG’s Meta-Object Facility.

  2. The second reason is that the UML 2.x diagram interchange specification lacks adequate information and details to carry out a reliable interchange of UML 2.x notations between the modeling tools. This is a major setback especially for modelers who won’t want to redraw their diagrams, since UML is already a visual modeling language.

A: 

This is an excellent question. I don't understand why these two critics ? I didn't understand model interchange and then tried Omondo and everything was clear in my mind after. UML is created from an internal model and then a transformation generate an xmi format. The problem is that this transformation is not what we need. If we have 10 diagrams I don't see any value having 10 xmi !! If I have a single model then the EMF transformation doesn't work (e.g. Topcased, Papyrus or RSA).

So, after so many mistakes in my life, not only in UML :-) my boss told me that I have the obligation to use EclipseUML Omondo. I tried and at the beginning it was really a bad tool for me because too complex. After 18 months now I understand why this tool is fantastic.

The architecture is based on a live metamodel synchronization and models merge. It means that you directly manipulate the metamodel and not only the model. I was able to merge 10 papyrus models into a single model and even add an RSA model. This is possible because each model is using directly the metamodel and not the internal model. Now I understand your question because I had the same problem than you :-) Thankfully I solved the problem by using the latest Eclipse technology and the Helios build.