Skip to content

MDA

Back in October at the OOPSLA 2004 conference in Vancouver, I sat in on the second edition of my friend Granville “Randy“ Miller’s MDA panel session, "Model Driven Architecture: The Realities, A Year Later". The panelists included: Scott Ambler (Ambysoft), Steve Cook (Microsoft), Karl Frank (Borland), Sridhar Iyengar (IBM), Jon Kern (Compuware), and Stephen Mellor (Mentor Graphics Corp.). The panel description was "Model Driven Architecture (MDA) is a technology that has been in the process of evolution for many years. We looked at this technology last year in a panel that raised the roof. This time, we bring in the people who are shipping the technology."

I believe in reusable architectures. I believe in modeling. I think that MDA is a valuable industry standard that will help us build better software faster. While the panel was going on, I took notes of the panelists opening remarks and their responses to questions from the audience. I should also say that Borland is a supporter of modeling and MDA. You can read the "Keeping Your Business Relevant with Model Driven Architecture® (MDA®)" white paper today and find out how your organization can leverage MDA to protect and maintain your software investments.

You can use Together Designer, Together Developer, and Together Architect to start your MDA based development. Delphi 2005 Architect comes with Enterprise Core Objects (ECO). ECO delivers a rapid design-driven architecture for .NET speeds development, improves quality, and increases the maintainability of complex Web Services, ASP.NET, and WinForm applications. Architects can use the model-powered ECO Object/Relational Mapping technology to generate or map to several major enterprise-class relational databases, then later evolve the database based on changes in the design model. Malcolm Groves blog contains numerous ECO articles and examples.

OOPSLA 2004 MDA Panel

During the panel discusssion, I took notes with the opening panelist comments and their responses to questions from the audience. I use the panel members’ initials to identigy their responses to questions. The following are the rough notes I furiously scribbled down on paper along with some of my own thoughts and hyperlinks to sites and books. My view of what the audience’s responses are in parenthesis. I hope you enjoy following along with panel and the audience.

Opening Comments

Scott Ambler – Scott asks the audience some questions. 1) PIM -> PSM - > gives you working software? How many of you are using MDA? (Only a couple of people in the audience are doing MDA). 2) Are there any organizations that will use MDA? Are you afraid of being tied to a tool vendor? (Few in the audience raise their hands). 3) Are any of you using simple modeling tools – whiteboard or paper? (Lots raised their hands.)

John Kern - 1) Who thinks that the way we do things is perfect? 2) Is anyone 100% successful in their software projects all the time? (One raised his hand.) 3) Who thinks that the ways to do things can be improved? 4) Who thinks that architectural frameworks are a good thing? (50% raise hands) 5) Is modeling a good thing? 6) Should there be automation in our tools to do the boring work? 7) Who believes that there is no vendor lock in?

Steve Cook - MDA is a registered trademark of the OMG. It is a “Brand”, a “slogan”. There are three camps: MDA, the MOF (Meta-Object Facility) camp, and the “executable UML” camp. MDA is a subspecies of Model Driven Development. Transformation is at the core of MDA.

Steve Mellor - Comes from the hardware/software world. 30 years ago the discussion surrounded whether to use C or assembler – the same questions were asked. Model Driven Development is the key area now. Standards let tools interoperate. What needs to be interchanged? The important part is capturing the “Meaning”! Steve says he is in the Executable UML camp. Transitions on actions, state machines, etc - MDA is one attempt to allow tools to work together. MDA, the OMG guide – how many have read the guide? (1/3 of the audience has read it). There is nothing in the guide says you have to use tools or transformations.

Questions from the audience

Q – Is MDA useful without tool support? - SM – Yes and No. Yes – automating has to be at the beginning KF – at least a modeling tool. SC – need lots of tools. S/W Factory – yes lots of tools and frameworks. Lots of domain specific languages. Tool Chains! SI – Large teams need tools and automation. UML is only one model that is needed. Need data/SQL models, data warehouses, frameworks, multiple languages, EMF. JK – tools help (you can do things in your own mind, but …) Optimal/J has MDA support. 3 simple things: models, technical architecture, iterative style. SA – it’s in your noggin!

Q – Large legacy application, wants to bring it kicking and screaming into the present/future. When will MDA be mature enough to fulfill the dream? What to do now to get ready? - SI – Discipline, process. Understanding what you have. RAS spec. IBM understands legacy systems and moving them forward. JK – metamodels for IML, databases, other stuff, anything. Then you can create transformations – web services, beans. SI – ADM – Architecture Driven Modernization – defining metamodels and transformations. SA – does your staff have the ability to do the work? Use the tools? SC – Never. State of software development is terrible. Failed projects, playing around with metamodels will not solve the problem. Just keep the legacy application running.

Q – I bought a Visual Basic spreadsheet control – MDA seams to be moving in the wrong direction when we just want to wire things together? - KF – component based development does speed up development. VB ties you to a platform, which is incompatible with MDA vision.

Q – Are you implementing UML notation, UML metamodel? Verbatim? - SM – yes, a subset. We have our own metamodel. UML is too big, don’t need it all. KF – Notation of UML 2 – yes. Metamodel – yes (not yet). . XMI export/import – yes. SC – UML notation yes, UML metamodel no (don’t see the value), XMI yes, DSL(s) are the metamodels. SI - UML notation – yes. UML metamodel – yes (eventually). Eclipse UML/EMF projects. JK – yes, yes SA – whiteboard – yes, yes. XMI interchange tools don’t work together without losses. Vendors are talking garbage and lies.

Q – C -> metamodel -> Assembler. If MDA doesn’t exist, who will drive the tool vendors to standardize the interchange? - SC – exchange models. Real people don’t interchange metamodels. Domain experts should work on domain specific metamodels. SA – Standard industry models that nobody uses. Everyone talks about it, nobody wants it to happen. SM – the most important part is a common understanding of the meaning and concepts. Interchange is important. Where will standards come from? From the customers/users? You (the audience) have to drive the standards! SI – MDA is also about interchange. How to make it work?

Q – State machines used in business and hardware are different. Meaning is domain specific. Is MOF ready to be a standard? - KF – UML is domain specific. UML is not a language. It is a unification of OO design. Together has successfully migrated state machines. SI – MOF – better to trend toward the standard. Get customers to use, will drive a better chance of interoperability. JK – at TogetherSoft it was used to steal Rational Rose customers. SA – interoperability – been here before. It is not in the tool vendor’s interest to have XMI work. SC – lots of XMI versions for MOF versions. Use XML tools to take XMI and get the interesting out of it and use it.

Q – Why is platform independence important anyway (in the real world of business)? - SA – platform independence is a lie. Vendor lock-in. JK – platform independence is not a requirement. But might be needed (separation of concerns, MVC). Database independence? KF – customers asked us to separate the model and the code. What about platform changes, or for 10 year embedded system projects (military) where the platform is not defined (or finalized) at the start of the project? SI – it is about the data (beyond the lifetime of the application). SC – platform interoperability is more important to business than platform independence. SA – not realistic. SM – language, subject matter we are trying to capture.

Q – For Scott – are metamodels a myth? - SA –I model on whiteboards. Interop of tools is a myth. Interop of models is a myth. KF – We can move UML models. SA – I propose a test – Model using Tool A, export to Tool B. Modify the model with Tool B, then export back to Tool A without a loss of information. JK – we can reverse engineer source code to requirements!

Q – Is MDA the way to standardize MDD? - SM – yes, no other alternative (yet). KF – MDA is made up of standards. They are important. SM – is UML 2 a good standard? SC – standards around MDD are important. We need effective standards that work.

Q from Randy – Is UML 2 a step forward for MDA? - KF – yes. JK – Who gives a crap? Teach the tool what to do with “white” and “black” diagrams. SM – Semantic meanings are different? Best model tool, best scenarios, best performance analysis, etc. Based on semantic model. SC – UML is a set of diagrammatic conventions. I had hoped it would be simplified. Mistakes – 1) didn’t separate notation and abstract syntax separately, 2) didn’t define a diagram building kit.

Panel Wrap-Up

SA – MDA is a loser, a marketing scam.

JK – MDA is a pipedream.

SI – MDA is in the hype stage. Standards and interoperability are needed.

SC – a good idea. Doing the industry a service – pushing MDD.

KF – UML commonly understood and used. MDA vision not realized yet, model to model transformation and translation is a good idea.

SM – build tool chains. “Bridgepoint”

Randy Summary:

The OOPSLA 2003 MDA panel was a slug fest

This year was a debate

What will happen next year?

{ 3 } Comments

  1. Scott Ambler | December 21, 2004 at 2:42 pm | Permalink

    A good overview. People might find www.agilemodeling.com/essays/mda.htm and www.agilemodeling.com/essays/readyForMDA.htm to be of interest.

    - Scott

  2. Gokul | August 7, 2006 at 9:46 pm | Permalink

    I found an interesting paper on "Agile Architecture with MDA" at IASA,

    Here is the link.

    http://www.iasahome.org/iasaweb/appmanager/home/content?_nfpb=true&_pageLabel=content_articles_page&content_articles_portletid=36301&content_articles_portletchannel=11

    Gokul

  3. Robert | December 18, 2006 at 9:01 pm | Permalink

    Gokul,

    Yes, "Agile Architecture with MDA" by Rajiv Parikh is an excellant paper and I also found it on CIO ITToolbox at

    http://CIO.ITtoolbox.com/documents/document.asp?I=2610

    Robert

Post a Comment

Your email is never published nor shared. Required fields are marked *
Close