UML, MOF, and Generic Interfaces
Don Box wonders:
What has baffled me for some time is why the UML camp puts so much emphasis on UML relative to MOF and XMI, which I’ve always found much more compelling.
I prefer MOF as well, as I’ve written before, and I strongly believe Microsoft should have based its DSL approach on that instead of inventing its own proprietary technology. But to address Don’s point: I think there are two reasons for the “UML emphasis”: First, as he writes (probably in a Freudian slip of the fingers, I guess he meant to write “OMG camp”), there’s a “UML camp” which is quite distinct from the MOF crowd.
But apart from that political argument, there’s also a technical one — one that strangely reflects discussions in the REST & Web services space: The more sophisticated your generic interface is, the more general-purpose tools can make sense of what you’re doing. With REST (and similarly, if you prefer, with something like WS-Transfer) there’s a lot of semantics you can rely on regardless of the particular application.
The same is true if you know that your model is UML instead of MOF — even if you don’t know the particular UML profile being used, you can still use a general purpose CASE tool to work with a UML model. Working on a generic level with a MOF model (as evidenced e.g. by the EMF editors) is cool for a demo, but not something you’d want to work with in real life.
In my opinion the reason is simple: MOF is just part of the game and all too complex. Most industry cases (e.g. http://www.dsmforum.org/cases.html) rely on someting else…