DMD 2 DD – Thanks Modelisoft!

Anyone who’s played with the DSL toolkit knows that it’s a 50/50 experience. Building the domain model means using a pretty straight forward designer (itself a DSL). Building a desinger means groveling around in a really ugly XML file. I hear that the designer design experience is going to get better in later builds, but for now it’s all hand coding. If you work thru the DSL Toolkit tutorial, you spend a lot of time finding and replacing names of domain model elements in the designer definition file. But now, Modelisoft has a utility called DMD2DD (i.e. Domain Model Definition to Designer Defintion) that automates all of that nasty find and replace / hand coding. Once you build your DMD, you run their tool and it automatically adds reasonable defaults to the DD for new domain model elements and removes designer elements from the DD for domain model elements that have been removed. The DMD2DD tutorial is much more straightforward than the DSL walkthru, since you don’t do all that hand editing.

Haven’t tried it yet, but if works anywhere near as well as the tutorial makes it look I’m going to keep a sharp eye on Modelisoft. From their homepage, it looks like their primary business is generating and reverse engineering .NET code from/for Rational Rose. I wonder what they’re doing w/ the DSL Toolkit?

System Definition Model SDK

Thanks to Pedro Silva, I now know about the DSL Tools forum on MSDN. There are also forums for VSTESA, MSF and VSTS Workshop. Plus, you can subscribe to RSS feeds of all these forums.

Speaking of the VSTS Workshops, the 3rd workshop (after DSL Tools and MSF Agile) just launched for the System Definition Model SDK. System Definition Model – or SDM – is the underlying model that powers the VSTESA modeling tools formerly known as WhiteHorse. VSTESA models 2 of SDM 4 levels – the Application Designer, the Logical Datacenter Designer as well as the Deployment Designer which essentially models the transformation between the two. These models map directly two the Application and Application Host layers of the SDM. Currently, we don’t have modeling tools for the Network/OS and Hardware layers of SDM.

Barry Gervin recently complained that the Logical Datacenter Designer sucked because you can’t model a web and database server deployed to the same physical machine. But in the context of SDM’s layers, you model the deployment of multiple application hosts to a single OS instance one layer lower than we currently have modeling tools for. Alex Torone, PM for VSTESA (and presenter for ARC310 – the drilldown on the Logical Datacenter Designer) penned an extensive comment in response to Barry’s complaints where he explains why SDM is factored the way it is and confirms that they are working on modelers for the other DSM layers “in future releases”.

Anyway, back to the SDM SDK. What’s cool about this is that while we ship some models “in the box” – primarily for our own stuff (SQL, IIS, WS03, etc) – there’s no reason you couldn’t model any system with SDM (Oracle, BEA, Linux, Z/OS, etc). The SDM SDK download is tools, samples and docs for building your own models and extending the modeling tools in VSTESA. (Note, the actual SDM SDK is a part of the VS05 SDK – i.e. what used to be called the VSIP SDK).

I wonder how long it is before the community models some of Microsoft’s major competitors in SDM?

Various Modeling Info

I was in Barcelona all last week, so I’m behind on email and blogs. I missed a couple of great posts from various folks involved in modeling at Microsoft. Gareth blogged about the text template engine in the DSL toolkit. Ali Pasha blogged about the relationship between the Distributed System Designers and the System Definition Model. And R.Ramesh pointed to the second and third parts of the Channel 9 interview with John Stall from the Class Designer team.

BTW, if you want to keep up on all the goings on the VSTS world at large, you have to subscribe to Rob Caron’s Blog.

Class Designer Demo

There’s a great demo on Channel 9 of the new Class Designer for Visual Studio 2005. Note, as per the CD team blog, Class Designer is available in the standard, professional and team systems editions of VS2005. (i.e. everything but express). More info on the differences between the products in the VS05 product line are available on the VS05 web site.

DSL Toolkit Team Roundup

Talk about transparency: Pretty much everyone involved in the DSL toolkit is blogging. Keith, Jack, Steve, Stuart, Gareth, Alan and Jochen. Plus, I bug these guys on email alot and they always have answers. A couple of recent items from these folks:

  • Steve was interviewed by DNJ Online about Software Factories. I didn’t get to read this until yesterday afternoon, but I had to present the Microsoft Technology Roadmap at the Executive Briefing Center yesterday morning. We started talking about factories and one of the things that came up was the massive value of partial classes. Steve hit on this in his interview as well. As cool as yield, anonmous delegates and especially generics are, I now consider partial classes the most important new langugage feature in .NET 2.0. Funny, as it was probably the easiest to build.
  • Gareth blogged about a very strange bug in the March CTP release involving the letter ‘A’ and a slightly hacky technique for dealing with blank files. He also talks about the model serialization format. Sounds like they’ll be fixing both down the road a bit.
  • Stuart confirmed that there will be a version of the DSL Toolkit for Beta 2 of VS05 “a small number of weeks” after it ships. He’s also talks about some of the features in the next drop: better code generation and better support for containment hierarchies (i.e. classes contain fields and methods).
  • Keith blogged a software factories elevator pitch and then refined the definition of a software factory into a single sentence.