Relationship between MDA,MDD and MDE

There is some confusion about the relationship between MDA (model-driven architecture), MDD (model-driven development) and MDE (model-driven engineering).

I was reading the Master thesis of David Ameller (supervised by Xavier Franch ) when I found the exact picture I had in mind to visually explain the relationship between these three concepts. So, with their permission, I’m going to share it with you:

Put it simply, in my opinion, MDD is a development paradigm that uses models as the primary artifact of the development process. Usually, in MDD, the implementation is (semi)automatically generated from the models.

MDA is the OMG’s particular vision of MDD and thus relies on the use of OMG standards. Therefore, MDA can be regarded as a subset of MDD.

On the other hand, MDE would be a superset of MDD because, as the E in MDE suggests, MDE goes beyond of the pure development activities and encompasses other model-based tasks of a complete software engineering process (e.g. the model-based evolution the system or the model-driven reverse engineering of a legacy system).

This is my view but, as always, feel free to disagree with me!

UPDATE: I’ve written a new post giving my view on the relationship between model-driven engineering and model-based engineering

If you enjoyed this post you can subscribe to this Software Modeling blog AND/OR follow me ON twitter OR through the portal’s mailing list . And if you really liked it help me pass it on to others by bookmarking and sharing the post using the links below:

12 Responses to Relationship between MDA,MDD and MDE

  1. tselrahc says:

    Your explanation certainly makes sense and is probably correct nowadays, i n a more modern sense of the terms.

    However, “MDD” has been used for quite a long time to describe model-based (as opposed to model-driven) development. That use of the term would not fit within the definitions presented by OMG as part of MDA (e.g., the CIM/PIM/PSM levels of abstractions and transformations). I suspect that this approach may also still be in use today – although probably not the best way of working with models. This may especially be true of some of the model uses seen in “agile” approaches.

    So perhaps there is a need, in your diagram, to also have a model-based development (MBD?) circle that would intersect with MDD, but not the others?

  2. jordi says:

    I’ve used sometimes the terminology “model-based engineering” (OR “model-based development”) TO refer TO a softer version OF MDE (OR MDD). That IS, a model-based development process IS a process IN which software models ARE used but maybe they ARE NOT the KEY artefacts OF the development(i.e. they do NOT “drive” the process AS IN MDD).
    However, this IS a very personal opinion. NOT sure if there IS ANY paper/book/… that proposes a precise definition FOR model-based engineering.

  3. [...] It would be nice that at least some of the references show practical applications of MDE in real life scenarios. One should also cover an application scenario different from code-generation since I strongly believe that MDE is much more than that . [...]

  4. Adrian says:

    Hei

    There is a paper from Forrester Research titled “Modernizing Software Development Through Model-Driven Development”. I have a copy of the paper, but I could not find an active link to it on the Internet. In this paper they give some precise definitions of MDE, MBE, MDD etc.

  5. [...] you saw it RIGHT, a UMLtoPython service IS coming!) but most OF the TIME I model the DOMAIN AND use model-driven development techniques TO generate (most OF ) the code (OF course you could also directly interpret the models [...]

  6. [...] gave a talk AT the SGVirtual conference. It was great TO see several hundred people interested IN MDD topics (well, TO be honest, WITH MORE than 5000 people registered FOR the conference I’d say all [...]

  7. [...] participé en la conferencia SGVirtual . Fue fantástico ver centenares de personas interesadas en MDD (bueno, de hecho, con más de 5000 personas registradas seguro que todas las sesiones tuvieron el [...]

  8. Nam says:

    I’m writing my PhD thesis within this area and just wondering if there is any scientific articles to demonstrate this picture? I really appreciate if anyone could recommend any more trustworthy reference to show the differences between MDE & MDD.

    Thanks in advance,
    Nam

    • jordi says:

      Nice that you consider my blog post not “trustworthy” :-) but the short answer to your question is that AFAIK there’s not scientific document explaining the differences (nor that I’m sure what do you mean by “scientific document” in this context, nor that I guess how would you like to “prove” the difference in a “scientific way)

  9. Nam says:

    No no, I didn’t mean that your blog is not trustworthy. I think it is so interesting that you are discussing it here. But just that I need to give a reference within this concern in my study and you know that the reviewers always prefer the authors to refer to the journals’ articles or any other peer reviewed publications and not just a blog or a website. So I meant this by writing more trustworthy references. :)
    Cheers!

  10. [...] (typeof(addthis_share) == "undefined"){ addthis_share = [];}In a previous post I tried to clarify the relationship between model-driven architecture (MDA), model-driven [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in MDD
Code generation 2009 conference
Close