This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: UML or DSL?
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
I think Grady Booch's interest in UML gets in the way of thinking through what's happening with Domain Specific Languages:
However, we do disagree with Microsoft's rejection of the UML in favor of proprietary domain-specific languages, as noted not only in Jack's book but also in Alan Will's blog. To be clear, as Jim Rumbaugh has commented back to me, our observation - and that of our customers - is that the UML has proven itself useful much of the time, yet there are a few purposes for which it may be less appropriate. In many cases, the semantics of the UML are pretty close to what you need, although they are deeper than necessary; in such cases, a suitable UML profile is sufficient to focus the language, which allows you to leverage standard UML tools and training and yet eliminate the bloat. In those cases where the business concepts are more naturally expressed in a specialized syntax, then inventing a suitable DSL is reasonable. At the extreme, this is essentially the path that Charles Simonyi has been trodding for some years, a path that requires a very very deep and integrated underlying semantic model. Indeed, as I've pointed out in one of my earlier blogs, the root problem is not simply making one set of stakeholders more expressive, but rather weaving their work into that of all the other stakeholders. This requires common semantics for common tooling and training, so even if you start with a set of pure DSLs, you'll most often end up covering the same semantic ground as the UML.
Interestingly enough, I was speaking to Steve Kelly of MetaCase at the recently concluded User's Conference about this. Have a look here - and review also the SPR numbers on this stuff. The issue with UML is that it's a solution oriented at software development in general - it doesn't really say anything about your domain at all. While the MS "factory approach" is likely flawed, they are on the right track with DSLs. Steve showed me what kind of results you can gain in a specific, well understood domain with tools like MetaCase - it's absolutely amazing - and no, UML isn't going to get you there. I'd suggest grabbing the MetaCase demo and seeing what's possible.