Today I had to work with UML models again - after a long time of working with domain specific meta models. I had to write a code generator to generate C++ code from a UML model (that was very C++-specific).
And although I was using a decent UML tool (MagicDraw 15), it didn't work. I couldn't even read the exported XMI into Eclipse/oAW, since the exported XMI contained <, > and & characters in model element names (C++ generic types, reference attributes, etc.). The Eclipse UML2 XMI Parser (actually, it was the underlying Xerces) failed.
Now, I am not yet sure who to blame (MagicDraw, Eclipse UML2, the Rose importer from which the MagicDraw model was built), but one thing is clear: as soon as you touch UML/XMI, you run into those damned tool integration problems!
It is really frustrating: you get up early in the morning, motivated to work on the stuff, and you can't even read the model exported by a (decent, I thought) UML tool.