The MS articles are spot on, what a breath of fresh air.
UML/MOF/XMI is too complex, bloated and incomplete at the
same time ! Meta-models need to be small expressive kernels
that don't change much. Many of the problems of MOF arose
for historical reasons, e.g. UML was born as a complete
multi-layered stack, but UML was not reduced in scope as
the MOF was introduced (UML was not specified in the MOF !)
so the stack is not very strictly layered. UML began as a
diagram-oriented standard, without a formal semantics
(e.g. what does that funny empty diamond thing signify !?).
Other problems include the computational intractability of OCL, and the conflict between sprawling OCL predicates and the design imperative for encapsulation, transactionality and efficiency.
There are some technical problems with the MOF stack which
could probably be be fixed given enough time, but the
resulting standards are taking so long, and are so complex,
that only large and patient businesses can afford to track
them. So any resulting products may work technically, but
they'll be too expensive for all but the slowest, richest,
most patient and standards-obsessed customers. No doubt
some OMG-MDA systems will work in the real world, but at
what cost ? Think EDI. Think Corba,
The standards are slow to emerge because
they are so heavy to kick along the beach.
A meta-modelling system cannot be complete
until the transformation formalism is in place,
otherwise there's no way to do any standardized refinement,
no clean way to bootstrap the metamodelling system,
and no way to migrate across versions - versions of the
meta-modelling standards, as well as the applications.
The MOF stack sans QVT should not be at v1.0.
When standards are slow to progress, people find
pseudo-standard ways to subvert the layered structure of
the stack and relieve the pressure. UML profiles and stereotypes are the hacks of the meta-modelling world.
The other problem with taking so long is that the OMG-MDA
gets buffeted by the Next Big Thing, which inevitably
throws up some charismatic leader, attracts a lot of media
attention, sells books & conferences, imposes another set of
requirements on MDA, and causes a lot of delay as the OMG
committees discuss whether to ignore it, or bend. At the
moment OMG is being hit by the BPM 'Third Wave' tsunami.
The OMG has fine visions of spanning all information
domains, including the Semantic Web. But didn't
Sergey Melnik map between the MOF and RDF 5 years ago ?
And where is the Great Sergey now ?
Oh yes, I forgot: http://research.microsoft.com/~melnik/
The things I like about the MS approach are:
- 2D refinement/reification grid
- fine grain steps
- small domain languages
- small reversible transformations
- pattern/aspect as unit of transformation
Tools should be a separate issue from the modelling core,
but in the past, Microsoft has not been disciplined enough
to enforce this separation under the hood
(remember ATL wizards ?).
I hope it is more rigorous this time. In fact, I'd like to
imagine that it will have a sound formal framework
underlying ideas like the refinement grid, perhaps using
some of JoGo's important results. If Microsoft cannot bring
itself to publish a formal semantics, they should still
have one !
I would like to see how MS tools handle constraints.
Constraints and queries (and transfomations) are just
graph fragments with special semantics, I wonder if they
portray constraints as visual overlays on their graphs ?
As to the question of interoperability, MS going it alone
has killed any idea the OMG might have had of its MDA
specifying 'platform-independent' models.
Of course 3rd parties will make MDA products that can
generate apps for the .NET platform, and of course some
smart grad student will go one meta better, and produce a
meta-meta-meta-modelling framework that can output
MOF or MSMDA. But the schism will still be out there in
training and experience of developers, manifest in the tools
they use and the models they build. I predict MS products
will facilitate a great leap in productivity for their
customers, with the OMG steam-roller still chugging along
merrily in the rear view mirror.
I'm also looking forward to an open non-OMG competitor to
the MS vision. Anyone know of an agile open meta-modelling