Should DSL use UML
Posted: Wednesday, January 05, 2005 3:27 PM
by
bruce
Filed under: General Rants, Not-so-SOAP, Home
I have been quietly following the ongoing conversations regarding Domain Specific Languages (DSL) and whether UML should be used as the mechanism to describe them. My UML and DSL knowledge is not nearly as deep as some of my colleagues, but I believe that the noise level from this space will only increase over the next 12-18 months.
As part of my blog reading (via Don Box), I came across a number of postings from Grady Booch and Alan Cameron Wills talking about both sides of the issue. But to me, the most interesting part was actually in one of the comments to Alan's post. Specifically, Lloyd Fischer says:
Anyway, we spent a lot of time thinking about visual representations of software. It turned out that the times we were successful was when the system in question *already* had a visual representaion. Examples are piping and instrumentation diagrams, electronic schematic diagrams, ladder logic diagrams, etc.
In those cases where we tried to create new visual representations we failed. The "business users" invariably rejected our attempts to turn their knowledge into diagrams because they were unnatural to experts in the field. The fact that they had not yet created such diagrams was a telling sign that no such representation was possible. Those fields where such representations were useful had long ago created them.
That is probably the best argument in favor of using something *other* than UML to describe DSLs that I have heard. That UML (or diagrams, in their world) doesn't fit with the mental model that the domain experts already have is very telling. After all, the experts aren't constrained by anything when it comes to describing their world outside the realm of software. They have white board, diagramming tools, everying that a designer would need. If that was the way they wanted to go, they'd already be there. And yet they're not. I think this is one case where we need to listen to the experts and find a way to represent the mental model that they have spent years developing. Seems more productive than forcing our way upon them.
If you would like to receive an email when updates are made to this post, please register here