Today at OOPSLA I participated in a panel session about MDA.  We had an interesting debate about what MDA actually is.  I suggested that MDA proponents fall into the following three camps.

 

1. The UML PIM camp: MDA involves the use of UML to build Platform Independent Models (PIMs) which are transformed into Platform Specific Models (PSMs) from which code is generated.

 

2. The MOF camp: MDA does not involve the use of UML, but instead the crucial technology is MOF, and the definition of modelling languages and language transformations using MOF.

 

3. The Executable UML camp: MDA involves building a UML compiler, making it a first class programming language.

 

It was a lively panel.  Feedback from the audience told us that very few people are actually using MDA, although quite a lot are doing modelling.

 

We’ve had an interesting time here.  Our Software Factories tutorial went well, and we’ve had some good feedback.  The product announcement during the Rick Rashid keynote wasn’t such a great idea, though.  Still, it feels good that we’ve now announced what we are working on – Stuart Kent’s blog gives details.