My team has been building a UML XMI Loader and Exporter for a repository that’s provisioned with OMG UML 2.1.2 model schema. One of the key questions that we needed to address was – what version and variant of XMI are we going to support. The May CTP bits of LoadUml.exe utility in “Oslo” work with UML semantic models created in Eclipse UML2 Tools.
Even though XMI is positioned as an OMG standard for UML model interchange between tools, there have been enough differences an intricacies in XMI variants that there are companies like Meta Integration that do mapping between tools.
Here is an excerpt from the press release:
“The MIWG’s approach is to create an export of the same UML model from each participating vendor’s tool and then import those models into each other’s tool. The XML Metadata Interchange (XMI) format, the OMG standard for exchanging models, is used by the MIWG to transfer the model data among the participating tools. This approach will be applied across a number of test cases representing different types of models. The first test case, representing a UML Class Model, has been successfully completed, and is available on the group’s Wiki page at http://www.omgwiki.org/model-interchange. Subsequent test cases will also be posted to the Wiki.”
I think this is a great effort and alleviates the vendors to add their own extensions that prohibit interoperability going-forward (unless lack of interoperability is an intentional choice!).