Domain-Specific Modeling

There is a good article on Domain-Specific Modeling in the Microsoft Architecture Journal. I am interested to know if anyone is using this kind of technology with ColdFusion.

Is there a similar open source tool available for drawing Domain-Specific Models?

Comments
Peter Bell's Gravatar Er, yep, I'm doing just a little bit! I'm personally not a fan of limiting the creation of DSLs to diagrams as it is extremely hard to reuse elements from a diagram in an industrial manner. You can certainly use "boxes and arrows" as one type of concrete syntax, but you can also use a database (active data modeling) method calls, in-language extensions (custom tags and UDFs in CF), XML or a custom syntax/parser. Sean also added custom lexicons to Fusebox which allow for the specification and easy implementation of certain classes of DSL in fusebox using an XML concrete syntax.

The main guy doing boxes and arrows in CF is Chip Temm. He wrote something for CFDJ and has a website and presented at frameworks. Very smart guy, and I remember him mentioning some modeling tools that you could use.

You might also want to search my blog for my frameworks presentation and stuff on DSLs and application generation - there are probably 50-100 postings on point.
# Posted By Peter Bell | 2/10/07 3:38 PM
Peter Bell's Gravatar FYI, I need to double check, but I think Steve Cook will be presenting at the Code Generation cnfrence in Cambridge England this year. I'll be presenting on integrating requirements gathering with application generation. I'm looking forward to meeting him as he is pretty well known as one of the top minds in the UK for OO and app gen.

You should read some stuff from Sergei Dimitriev at JetBrains or Charles Simonyi at Intentional (ex Microsofty) or for that matter Martin Fowler and (I believe) Scott Ambler. Most of them are pretty dismissive of Microsofts approach to SPLs (Software Factories) for some pretty good reasons.

You should also read Software Fctories by Jack GreenField at Microsoft if you want to drink their kool aid. Book is fine, but the best books are still generative Programming and Software Product Lines - both available at Amazon. Code Generation in Action by Jack Herrington is also good but lower level - doesn't talk about SPLs or DSLs in the same way so not as profound.

It is all cool stuff, though!
# Posted By Peter Bell | 2/10/07 3:42 PM
Kevin's Gravatar Yes Peter, I was at Chip's talk at Frameworks so I know about his stuff and was wondering
if I could use it somehow. I have licence for the Visual Studio so I may just install it on a
machine next week and see what it can do. I really wanted to find an easy way to edit the
XML file I was proposing to use.

I don't know about reading all those books. I guess I just opened up a whole new world by
reading the architecture Journal, but I want to write some code now as it will help me to
have something to refer back to. I can always re-write.
# Posted By Kevin | 2/10/07 4:56 PM
Peter Bell's Gravatar Hey Kevin,

Oops - I was *trying* to remember whose blog this was - sorry - I didn't click until now that this was you :-<

There are a bunch of XML editor plug ins out there. If you want to check out language workbenches (which is what VS is trying to add with its tools) best shipping product now is MetaCases MetaEdit+ - haven't played with it yet. Then Sergei at JetBrains has his MPS but that is still some kind o community preview release. You should also check out Martin Fowlers article on language workbenches as that gives a good overview of the space, but for what you're doing right now it probably isn't an issue as we can use FB's custom lexicons as the parser/interpreter so all you really need is a good XML editor that supports schemas. I've heard XML buddy is pretty good in Eclipse . . .

Sorry again - I can't believe it didn't click this was your blog. Been a looong week!
# Posted By Peter Bell | 2/10/07 7:27 PM
Peter Bell's Gravatar If you do play with VS, let me know. I've got a SPLA agreement with them because I host clients on Windows machines, so I should probably just ask them to send me the latest VS media. I'm just reluctant because I'm all Mac now and it just seemed like such an overcomplicated approach, but given O'll be meeting the author of that article in May, I should probably at least play with VS. We should share notes on that!
# Posted By Peter Bell | 2/10/07 7:29 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.