Discussions

In a recent article, Richard Adhikari comes out with a concern that it is not possible to enforce compliance with the new UML 2.0 standards. He is worried that this means that different dialects of UML 2.0 could spring up over the next few years, resulting in vendor lock-in -- which is exactly what UML 2.0 was designed to prevent.

If the failure of XMI as a reliable interchange format for models is any indication, I wouldn't be surprised to see custom variants of UML 2. But given the way I use UML - to merely communicate certain aspects of my designs - this does not concern me. If I were a proponant of MDA (where interoperability is king and vendor lock-in is feared), then I would be concerned.

If the failure of XMI as a reliable interchange format for models is any indication, I wouldn't be surprised to see custom variants of UML 2.

The article mentions official compliance levels, and another article explains that these levels are subsets of a total of 38 "compliance points". Apparently OMG has analyzed this considerably. And there are already a number of standardized UML profiles which, while orthagonal to compliance, should increase interoperability.

Whether XMI is used for composable pipelining or simply to connect a modeling GUI to a code generator, interoperability is a mandatory feature that will shape a tool's reputation. Compliance can easily be market driven, and so hopefully not end up like the insularity of UML 1 tools. I doubt vendor lock-in will be prevalent, just as most Java projects today easily switch between tools such as IntelliJ, NetBeans, and JBuilder. And XML generally has an excellent track record at interoperability, despite XMI's early failings.

But what may be most important during the early days of pain is that any XML interchange is potentially open to human inspection and retrofitting with custom transformation. An end user might diagnose incompatibilities and remedy them with custom stylesheets that can be donated to the community or patched into the offending tool. Plug-n-play might not happen immediately, but a way is there to be found with XMI, and those tools that play well with others will be rewarded.

But what may be most important during the early days of pain is that any XML interchange is potentially open to human inspection and retrofitting with custom transformation. An end user might diagnose incompatibilities and remedy them with custom stylesheets that can be donated to the community or patched into the offending tool. Plug-n-play might not happen immediately, but a way is there to be found with XMI, and those tools that play well with others will be rewarded.

I would like to be that optimistic, but the tools vendors have failed in this regard. Instead of being punished by the market, we have to deal with these incompatibilities. I'm not worried about humans manually tweaking XMI files (which is actually necessary right now). I'm more worried about the tools vendors (especially the big ones) making me talk to the hand and refusing to comply with standard XMI.

"If the failure of XMI as a reliable interchange format for models is any indication,"

...XMI has not failed. Vendors have. However, with the exception of IBM/Rational, most serious vendors have good support for XMI 1.0 and 1.1 is getting better too. Our company has used several kinds of tools - not just UML tools - and integrated them around XMI.

...XMI has not failed. Vendors have. However, with the exception of IBM/Rational, most serious vendors have good support for XMI 1.0 and 1.1 is getting better too. Our company has used several kinds of tools - not just UML tools - and integrated them around XMI.

It actually works great.

You are correct - vendors in general have failed. However, this makes using XMI for what it was intended - interoperability - difficult. So in the end, you have the perception that XMI fails to do what it advertises. Most vendors have support for XMI, but that support is sufficiently different from other vendors to cause frustrating issues when going from one tool to the next. Even importing a model via XMI into the same tool that generated it can be an issue. Denying this does nobody any good. It's time to clean this mess up, and the release of UML 2 would be a good time to make sure tools comply. Let's do away with the ridiculous "dialects" of XMI that are out there.

TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations technology projects - with its network of technology-specific websites, events and online magazines.