Steve Cook's WebLog

Keeping the baby in the bath

Xactium’s Andy Evans has written an interesting article on Language Driven Development in David Frankel’s MDA Journal.  In it there’s a paragraph directed at me:

 

In [2] it has been proposed that domain-specific languages have specific advantages over traditional style MDA PIM to PSM transformations. DSLs aim to provide targeted domain-specific modeling concepts, which can be used to accelerate development. However, our experience tells us that developers need to access a wide variety of languages. In particular, there will always be the need for general-purpose languages that cover multiple domains. Languages like UML attempt to fill this gap, but are not well defined. Discarding the general-purpose abstractions provided by UML is, in our opinion, throwing out the baby with the bathwater. Instead, these abstractions need to be semantically well defined so that developers can benefit from them.

 

[2] Cook, S. Domain-Specific Modeling and Model Driven Architecture, MDA

Journal, January 2004 (http://www.bptrends.com/publicationfiles/01-

04%20COL%20Dom%20Spec%20Modeling%20Frankel-Cook.pdf ).

 

I’d like to respond to that, because Andy has misunderstood what we mean by Domain Specific Languages.  He’s absolutely correct that developers need a wide variety of languages.  He’s also absolutely correct that these languages need to be built from semantically well-defined abstractions.  But he has assumed that in Microsoft we are only interested in narrow, vertical domains.  This is not at all the case.  We’re just as interested in supporting well-defined general-purpose abstractions (domains) – constraints are a good example, data models another.  The key to making this work, whether the languages are specific or general, is to have all aspects of the languages well integrated into the development process and architecture.

 

Published Friday, December 03, 2004 4:05 PM by Steve Cook

Comments

 

Rob Caron's Blog said:

December 7, 2004 2:06 PM
New Comments to this post are disabled

This Blog

Syndication

News

Locations of visitors to this page
Disclaimer

The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the author’s discretion. All code samples are provided "AS IS" without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.


© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker