Share via


DSL's and MDA

Well, the last two weeks have been quite busy. Earlier this week I was at the Microsoft Western Region Strategic Architects Forum - a gathering of top Architects from a couple of hundred companies invited by Microsoft to discuss enterprise architecture and .Net technologies. I was presenting the approach to modeling and model based software development that underlies the Whitehorse technology. Since the PDC, my  architecture team has given this talk a number of times to hundreds of architects, (summarized in this article) and the reaction has usually been favorable. Of course the question always arises concerning UML and MDA as we apparently seem to be diverging from these ”standards”. Steve Cook, my colleague, was, strangely enough, simultaneously giving almost the same deck to an assembly of architects in the UK, immediatley following a spokesperson from the OMG. Consequently, he had to make the issues very clear, but again the crowd there were favorably impressed by our arguments. A summary of how we address these questions can be found online in a press interview with me here (for a limited time only - sorry about having to register) or in Steve's article here. Steve's article stirred up some controversy, and he'll print a response in Dave Frankel's magazine later. I'd like to know what others think about this question of DSL's versus MDA/UML.

Apologies in advance for late responses as I'm off skiing with my family next week :-)

Comments

  • Anonymous
    February 13, 2004
    Some comments. As one of the authors of the UML2.0 spec, I feel I should stand up for it a bit.

    Basically, I think UML 2.0 itself is a good foundation to establish modeling languages on.

    The problem with DSLs is that without common modeling infrastructure, you are really reinventing the wheels for each new DSL language. I argue you have to have a modeling infrastructure anyway to really do modeling correctly. I think the eCore project in Eclipse is a good example of moving toward this idea of a modeling infrastructure. Of course, there is a new project to support UML 2.0 metamodels in Eclipse.

    I agree that MOF and XMI have problems.
    But, UML 2.0 is self-describing: The UML2.0 metamodel is a UML 2.0 class model. You don't need MOF or XMI to understand/use UML 2.0 and UML 2.0 was design with that goal implictly in mind.

    In fact, I think there is an need to define a new XML seralization format for UML 2.0 independent of MOF and XMI.

    I personally had the idea that one could base it on annotation and extensions of XSD to create a metamodel schema. This means that there is a mapping of any XSD into a UML metamodel.

    XSD does have limits in scale. In fact, most XML editors have a graphical (read modeling) tool for XSD. I think UML scales up more. I think that the UML metamodel allows for fairly easy definition of much more complex structures that XSD can easily define.

    I think the UML 2.0 core metamodel provides a useful basics for modeling infrastructure. Why completely reinvent the wheel?

    One choice is that Microsoft does it's own modeling infrastructure, and somebody could very likely put UML on top of it. So, we get UML anyway.

    The other choice is to use UML 2.0 as a starting point, and work on evolving the standard, and maybe creating new standards if the need arises.

    The advantage of supporting UML 2.0 is that you have interoperability and you can build a community around the standard. People can build libraries of modeling languages and extensions, and many tools can use them, including VS.

    It would be my wish that MS take the lead and by using the UML 2.0 metamodel as a starting point, develop a complete, powerful and extensible modeling infrastructure based on metamodeling concepts.

    I think UML 2.0 is a good starting point for model-based technologies. It certainly isn't the last word. I am certain that MS would provide extremely significant input into future modeling standards.

    Thanks for your consideration,

    Nathan Dykman

  • Anonymous
    February 24, 2004
    More details about what I actually get paid to work on at Microsoft, namely: DSI and SDM.

  • Anonymous
    February 27, 2004
    The comment has been removed

  • Anonymous
    February 27, 2004
    Whoops: the URL at DNJ Online is:

    http://dnjonline.com/articles/architect/jan04_whidbeydesign.asp

  • Anonymous
    February 27, 2004
    Thanks for your comments Nathan. I hope you've had a chance to look at some of the papers I referenced in the postings, and particularly Steve Cook's paper on DSLs and MDA. Obviously we disagree with some of your points. I'll pick up specific ones of these in another posting, and make sure we don't loose the opportunity for a debate around our disagreements. As you'll note from comments made in our postings and references, we do think there has been good work in the UML space, but feel our arguments still hold weight.

  • Anonymous
    February 28, 2004
    Keith,

    Thanks for your comments. First, I absolutely agree that a lot of your arguments hold weight. Some of them are dead on. Believe me, I share many of your reservations about MDA, MOF and XMI.

    Also, I just had a chance to read your DNJ article, and I completely agree that metamodeling is the key to extensiblity. I totally agree with the approach of DSLs as smaller metamodels. That is the proper approach, and metamodel support is sadly lacking/non-existent in UML tools. So, we are on the same page about modeling infrastructure after all.

    It is also a good point that UML 2.0 may not be modular enough yet. I do think it is much better than UML 1.x, which is much too monolithic.

    At any rate, it certainly seems to me that given the metamodel approach, UML is by no means incompatible with Microsoft's approach to modeling, certainly not to the degree some may be suggesting.

    Opinions aside, great tools are great tools, and I'm excited by the approach MS is taking, and want to see it be a wild success. It would be a great thing for the modeling community (and MS) as a whole.

    Please feel free to contact me at ndykman at cs.utah.edu if you think email is warranted. I will checking your blog as well.

    Thanks for your attention.

  • Anonymous
    May 28, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=keith-short-s-blog-dsl-s-and-mda

  • Anonymous
    June 12, 2009
    PingBack from http://greenteafatburner.info/story.php?id=4208

  • Anonymous
    June 13, 2009
    PingBack from http://quickdietsite.info/story.php?id=822