Tuesday, November 07, 2006

OMG: "MDA and DSL are the same!"

I came across a webcast by OMG Chairman and CEO Richard Soley in which he claims that MDA and DSL is "the same thing really", since MDA provides DSL's as well via MOF and UML profiles. I agree with Richard that you can get a DSL via MOF and UML Profiles, except that this way we'd have to bin that "little issue" of making sure we get a quality DSL (or DSM language, a term I rather use).

So, what defines the quality of a DSM language? Of course that is debatable but I would suggest "Its ability to define an application correctly, conveniently, concise and completely, with a minimum amount of effort." as that provides the basis for being able to generate 100% of the application's implementation in code. In this light, the lack of quality provided by MOF and UML Profiles leads to incomplete code generation. Richard mentions 70% code generation "which is not bad". Well, it's not good either since it creates the need for keeping models and code synchronized via round-trip engineering, which makes it pretty bad in my book.

When it comes to convenience, Richard "rubishes" the concern so many developers have with UML being too complex, by saying that he - as a man - "likes to have a big tool box", because he "wants to use a tool that is best suited to the problem at hand." To me it seems that Richard's big tool box contains just one very big and complex tool that you can use for whatever it is you wish to develop, therefore not making it very well suited for any specific problem at hand. It's "OK, nothing more", which already may be overstated. Don't give me that crap about it being great for everything.

Providing a developer or company with a great tool for modeling and generating the software he/it wants to build, means providing the ability to conveniently build an own tool that precisely matches the domain-specific requirements, in the shortest time possible. Not by providing a one-size-fits-all big man's box of tools that are "pretty OK" for doing almost anything.

MDA and DSM (using DSL's for generating code) are NOT the same. The OMG would do good to stick to its own MDA vision, abandon it or make an attempt to define it more concisely, instead of positioning it as the greatest thing for all of mankind while trying to jump multiple bandwagons and please everyone's agenda in order to justify its own existense.

No comments: