66020 members! Sign up to stay informed.

Sponsored Links


Resources

.NET Research Library
Get .NET related white papers, case studies and webcasts

News News News Messages: 5 Messages: 5 Messages: 5 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

Why Microsoft thinks MDA and UML are too general

Posted by: Jack Vaughan on March 24, 2006 DIGG
At the end of 2005, Jack Greenfield talked with TSS.NET about some of the thinking that caused the company to go with DSL, or Domain Specific Language for VSTS 2005. As developers and architects begin to grapple with these tools in earnest, Greenfield’s thoughts are worth reviewing.

We highlight them here. And welcome you to visit our recent post of a TechTalk featuring Greenfield.

When Microsoft rolled out its enterprise software design strategy, it decided to forgo MDA, or model driven architecture, is one of the more interesting off-shoots of the UML movement of the late 1990s. Microsoft surely looked at UML and MDA as it looked to forge a home-brewed designer for Visual Studio and .NET, but the new VS 2005 Team System focuses on Domain-Specific Language modeling, and leaves UML and MDA to third-parties in the MS aftermarket.

In discussing UML, Greenfield said: “Something that can describe everything, essentially describes nothing in detail. It describes everything to a very low level of value, there is not a lot of rich information there.”

“To get rich information what you really need to do is create more viewpoints, viewpoints that are specific to the problem domain,” said Greenfield. He suggested that such a ‘viewpoint’ for building e-commerce apps “is going to be different from the set of viewpoints that I have for building, say, Self-Service Portals or online auctions.”

From his point of view, the means completely different sets of viewpoints and different concerns and different DSLs.

Another big difference is that MDA is all about models. Software factories, a favored method at Microsoft, use models, but such models “are not dominant in a [software] factory,” said Greenfield

Not discussed here, of course, is the idea that a key goal behind MDA is to create models that are high-level enough to be platform independent. Frankly, and for obvious reasons, this is not too often a driver in the MS camp. --J.V.

TechTalk featuring Jack Greenfield

Threaded replies

·  Why Microsoft thinks MDA and UML are too general by Jack Vaughan on Fri Mar 24 10:35:36 EST 2006
  ·  UML is general, but MS DSL's do not exist by Tad Anderson on Tue Mar 28 10:10:33 EST 2006
    ·  UML is general, but MS DSL's do not exist by Daniel LQ on Tue Mar 28 11:18:26 EST 2006
    ·  Until DSL Matures I will use Restrictive Development by Tad Anderson on Mon Apr 17 21:10:16 EDT 2006
  ·  Why Microsoft thinks MDA and UML are too general by Aidas Ozelis on Tue Mar 28 11:30:08 EST 2006
    ·  Why Microsoft thinks MDA and UML are too general by Jon Kern on Tue Mar 28 21:02:39 EST 2006
  Message #204746 Post reply Post reply Post reply Go to top Go to top Go to top

UML is general, but MS DSL's do not exist

Posted by: Tad Anderson on March 28, 2006 in response to Message #204533
This is from a blog I wrote sometime ago:

My frustration is with today, and the tools we are being handed today. With VSTS 2005 I lose XDE, I gain a DSL roundtrip class diagram modeling tool, and a bunch of Data Center modeling tools. So now I am stuck with the choice between Sparx, Borland, and some other tools to be able to do my job today. I don't have time to write a DSL UML tool so I can architect this project, and I wouldn't even if I had the time.

Basically I am tool-less to architect, unless I can get my client to fork over a few more grand for our team. A great aggravation in this process is trying to explain why Visio, while it may be free, doesn't cut it. If it isn't going to be improved, get rid of it.

My frustration is not with your Software Factory movement, my frustration is with the gap that has been put in place by MS making us wait for your Software Factories movement to produce the tools and process frameworks we need to do our job. So I am not against your movement of Software Factories, I am against Microsoft's position of promoting it as what will be available, while providing nothing to us today.

The rest of the blog:
http://realworldsa.dotnetdevelopersjournal.com/dsl.htm

  Message #204757 Post reply Post reply Post reply Go to top Go to top Go to top

UML is general, but MS DSL's do not exist

Posted by: Daniel LQ on March 28, 2006 in response to Message #204746
...So I am not against your movement of Software Factories, I am against Microsoft's position of promoting it as what will be available, while providing nothing to us today.

Are we new to this Microsoft phenomena? They just delayed Windows Vista, and my guess is that we won't be able to see a production-ready DSL toolset until 2009. UML is still the best bet for modeling any serious applications TODAY!

  Message #204760 Post reply Post reply Post reply Go to top Go to top Go to top

Why Microsoft thinks MDA and UML are too general

Posted by: Aidas Ozelis on March 28, 2006 in response to Message #204533
Honestly for me it is still difficult to imagine a working Software Factory, but totally impossible to imagine a complete MDA implementation.

As Jack mentioned UML consists of 13 DSL's. 13 is a magic number but is it sufficient for all cases? :) UML stereotype based modeling is nothing but creating other DSL's - visually poor, difficult to read and uniquely understand. If ever completely implemented to generate whole application code from PIM, MDA should have to deal not just with UML DSL's but also with other well known DSL's like SQL, ASP.NET or JSP tags, build scripts and etc. In Software Factories it is called viewpoints. MDA could implement just 1 viewpoint but not a whole app.

As I understand DSL’s are for generating some patterns or tedious boiler plate code, but not a whole application. Having software Factory you’ll also have to write code.

I don’t see this stated in MDA camp.

Imagine simple scenario: let’s say you have generated an application using MDA approach (could you imagine a single PIM for that?). After some time customer asks to put a progress bar indicating getting product data from web service. And then you will realize that there is no magic red button (no silver bullet)

  Message #204803 Post reply Post reply Post reply Go to top Go to top Go to top

Why Microsoft thinks MDA and UML are too general

Posted by: Jon Kern on March 28, 2006 in response to Message #204760
Regarding...
Honestly for me it is still difficult to imagine a working Software Factory, but totally impossible to imagine a complete MDA implementation.

At OptimalJ (www.optimalj.com), you can choose the level of detail to which you wield the MDA wand. For a basic business application, you can generate quite a bit of the boilerplate. As a matter of fact, to make life easy for verifying the domain model, we generate a complete working application that at least does the basic CRUD based on the domain model and some simple assumptions on O/R mapping and UI presentation. No rocket science.
MDA should have to deal not just with UML DSL's but also with other well known DSL's like SQL, ASP.NET or JSP tags, build scripts and etc.

Indeed, you are correct. We have had these DSLs around for quite some time... If you can describe some artifact in a consistent manner with some set of rules, you can "code it up" in OptimalJ's metamodeler and transformation tools.

We use OptimalJ to generate large bits of OptimalJ! Oue Eclipse team used OJ to generate the metamodel to record the PIM pieces that reflect IDE "preference" pages (obtain dialogs or property sheets). They then built the code generators for the NetBeans way and for the Eclipse way. So now, the preference pages are stored in the form of models at the PIM layer.

The real kicker... in next version of Eclipse, the technique for creating Preference Pages in Eclipse UI will be completely changed. We do not have to change a single line of code by hand. Instead, the team factors in the new technical requirements required by the eclipse platform, and regenerates the code for the Preference Page models.
MDA could implement just 1 viewpoint but not a whole app.

Though we can generate a working app, we never say we can generate an entire app. Big difference.
I don’t see this stated in MDA camp. Imagine simple scenario: let’s say you have generated an application using MDA approach (could you imagine a single PIM for that?).


I can't imagine it, but I experience it ;=)
After some time customer asks to put a progress bar indicating getting product data from web service. And then you will realize that there is no magic red button (no silver bullet)

The major limits to MDA are in how one applies it. You can be judicious, or over the top. The hardest part about MDA has almost nothing to do with MDA. You first have to know what you want to build (you architectural approach and construction techniques), and be able to abstract out the repetitive bits into (sometimes) metamodels, models and transformations.

You are correct... no silver bullets. Only fools seek such holy grails in software development. Remember, a fool with a tool is still a fool.

  Message #206401 Post reply Post reply Post reply Go to top Go to top Go to top

Until DSL Matures I will use Restrictive Development

Posted by: Tad Anderson on April 17, 2006 in response to Message #204746
Restrictive Development- Propagating Architectural Patterns

How does the architect get their architecture propagated throughout analysis, design, and the construction phase? I have only found one way to successfully do this. It is what I refer to as Restrictive Development.

Read about it here:
http://realworldsa.dotnetdevelopersjournal.com/restrictivedevelopment.htm

 
New content on TheServerSide.NETNew content on TheServerSide.NETNew content on TheServerSide.NET

DSLs and language interop

Language "mashups" will become more prominent, and developers will become polyglots, one programmer suggests.

VS 2008 Resources

SearchWinDevelopment.com offers an introduction to the language, performance, testing and data management improvements in VS 2008.

VB code downloads home

VBCode.com code snippets cover all aspects of application development, from data binding to security to the user interface.

XAML Learning Guide

Get up to date on XAML best practices with a variety of articles, tutorials and webcasts. [SearchWinDevelopment.com]

Company uses VSTS DB edition to tame workflow

One team's experience with the VSTS DB edition suggests that it can improve workflow for dev teams. It also enhanced Agile efforts. (June 24, Article)

Book: Intro to DSL Tools

Microsoft has begun to include DSL tools in the VSTS kit. A new book by Steve Cook and other VSTS team members helps set the stage. (June 24, Article)

I See the Silverlight Shining!

Cartoon: Be it ever so humble there is no place like your home after you get a Microsoft Home Server . (June 18, Cartoon)

A look at .NET 3.5

Microsoft's Thom Robbins says new technology to highlight in NET 3.5 includes AJAX, LINQ for both C# and VB, as well as tooling enhancements intended to ease the task of building WPF, WF and WCF apps. (June 29, Podcast)

Venkat Subramaniam on AJAX

Venkat Subramaniam discusses AJAX bottlenecks, the tenets of Agile development and more. He spoke at the Ajax Experience. (June 25, Tech Talk)

Building a Claims-Based Security Model in WCF - Part 2

In the second of a two-part series, Michele Leroux Bustamente discusses design decisions related to the claims-based security model. Read the story and walk through the process for creating a set of claims-based utilities to encapsulate claims authorization at the service tier. (May 24, Article)

Introducing the Entity Framework

Understanding why the Entity Framework exists and learning where it can fit into your projects can get you prepared for the eventual release early next year. (May 10, Article)

WCF Security Learning Guide

Resource: This learning guide gives you quick access to useful links on Windows Communication Foundation security information. (April 24, Article)

Brad Abrams: Patterns for successful ASP.NET AJAX development

TSS.NET's Jack Vaughan spoke recently spoke with Microsoft's Brad Abrams to find out what he is seeing in the field and what the chefs in Redmond are cooking. Along the way he discusses patterns of AJAX frameworks. (April 11, Article)

Building a Claims-Based Security Model in WCF

In a two-part series, Michele Leroux Bustamente explains how claims-based security is supported by WCF, and how you can implement a claims-based security model for your services. (March 29, Article)

Authoring workflow using XAML

Windows Workflow Foundation is a new technology that many developers will need to get their heads around. In a brief excerpt adapted from Programming Windows Workflow Foundation: Practical WF Techniques and Examples using XAML and C#, K.Scott Allen considers aspects of workflow definition. (March 22, Chapter Excerpt)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map