Problem solve Get help with specific problems with your technologies, process and projects.

Thoughts on Model Driven Development (MDD)

Learn to deal with a system that uses well-established standards to create a new architecture that operates from a platform independent model.

The recent SearchCRM article about planning small seems to fit the modeling development efforts of the several small players. What are your thoughts concerning what the OMG is calling Model Driven Development (MDA)?

I'm going to start with a caveat. I can't endorse something that I haven't seen in action. Another caveat. This is not my area of expertise.

That said, I have to say that I'm impressed with the concept and the pedigree of Model Driven Architecture (MDA), the foundation for Model Driven Development (MDD). The father of MDA, the Object Management Group (OMG) (hold onto your hats, there are about 10 million acronyms to go here!) is a spectacular producer of industry standards. The most well known of them are Unified Modeling Language (UML), which is a ubiquitous notational standard for modeling design (see Microsoft Visio for example) and CORBA. They have developed a vendor neutral open interoperability standard they are calling MDA. What makes this a very useful and interesting architecture is that it leverages existing standards like UML, XML, meta-objects, common warehouse model and other universal capabilities, rather than creating something with an entirely new foundation once again. Here is a brief description from the MDA FAQ from OMG "A complete MDA specification consists of a definitive platform-independent base UML(TM) model, plus one or more platform specific models (PSM) and interface definition sets, each describing how the base model is implemented on a different middleware platform." (For the complete FAQ, go to www.omg.org)

In other words, we are dealing with a system that uses well-established standards to create a new architecture that operates from a platform independent model that can create the reusable specifications for functionality and behaviors, regardless of any new standards that come along. That means with the right (MDD) development tools, frameworks for distributed systems can be developed quickly and productively. So it all sounds great.

Have I seen the tools? No. So in concept, I would say that from what I read and a couple of my colleagues who know this field better than I ever could, it sounds excellent. In practice, I haven't seen it yet.

Any experience with MDA out there from users, not vendors? Email me at [email protected] if you have an opinion but not a stake in MDA.

Next Steps

Model-driven software development deserves a second chance 

Dig Deeper on CRM strategy and implementation