By Peter Bell

Co-presenting tutorial on oAW and DSLs at SPA Conference

See my new blog for the details!

First Article Published in InfoQ

w00t I have just had my first article published in InfoQ :-)

It's on Domain Specific Language Evolution.

Transformation Based MetaModeling (what to do when your DSLs change)

Generally the biggest issue with metamodeling is DSL evolution. You have a collection of DSLs that you use for building applications. However, you find an case where your DSL is not sufficiently expressive. Perhaps you have an attribute/property that really needs to be a class/element/concept with its own sub-properties. However, you already have lots of statements in the DSL, so what do you do? Generally there are three approaches . . .

[More]

Domain Specific Modeling: Choosing a Meta-metamodel

If you want to develop external Domain Specific Languages, one of the first choices you need to make - and understand - is what meta-metamodel you're going to use and how that's going to grow with your needs. Most people start developing external DSLs by choosing a concrete syntax and/or toolkit (database tables, XML, Xtext, MetaEdit+, Microsoft DSL Tools, etc.) and that isn't always the best approach . . .

(If you're not sure what I'm talking about when I mention meta-metamodels, you might want to look here. )

[More]

Want to present on DSLs at Microsoft in April?

Chris Sells is organizing a mini conference on DSLs at Microsoft in April, so if it's something you might be interested in presenting on, drop him a line.

Found via Markus's blog.

Not sure whether I'll be pitching as the week before I'll be presenting at the BCS SPA conference in London, so I'm tempted to try to fit in some diving in the Red Sea or Thailand depending on which flights are looking good . . .

[UPDATE] My name's Peter and I'm a conference addict :-(

I did pitch a couple of presentations. Oh well, the Red Sea is probably nicer in June. I'll let y'all know if I end up being selected. [/UPDATE]

Presenting on Domain Specific Modeling at Domain Driven Design group tomorrow

Tomorrow I'll be presenting to the Domain Driven Design group in New York. The focus will be on the synergies between DDD and Domain Specific Modeling/Code Generation. DDD provides a solid framework for developing languages (they call them Ubiquitous Languages), and with DDD the Movie, it's clear that Eric Evans, Vlad Gitlevich et al are also bringing an appreciation of "soft skills" that has long been missing from developer education/training.

At the same time, Domain Specific Modeling has a lot to say about the practicalities of implementing executable domain languages (they call them Domain Specific Languages).

Eric is very clear in the DDD book that a UL does not need to be executable, and that sometimes ambiguities within a UL will make it more valuable to the domain experts for capturing requirements than a more formal language that is less usable or comprehensible by the people who know the business domain being modeled. However, there are plenty of cases where a UL *can* be executable and the question then is how we can take the experiences within the DDD and DSM domains and map them across the Domain Boundary to make it easier to elicit and then implement requirements more efficiently.

This is something I've been thinking a lot about since I first read the DDD book, and conversations with Eric Evans, Martin Fowler, Dan North, Vlad Gitlevich, Markus Voelter and others at ooPSLA '07 in Montreal really convinced me that this is an important space.

Hopefully the presentation will provide a good starting point for the experienced team that always attend the DDD events (really, you should go just to meet the people - a pretty impressive bunch). I'm then looking forward to a discussion phase where people can share their experiences in both DDD and DSM and we can discuss some rules of thumb for moving from UL's to DSLs.

Feel free to come along!

Presenting at NYC Domain Driven Design group next week - on Domain Specific Modeling

Well, if you ever wanted to check out the NYC Domain Driven Design group (which I thoroughly recommend - great group, great people), this is a chance to also find out a little more about Domain Specific Modeling and how DDD and DSM can work together to create a Ubiquitous Language and then to use that to generate your apps.

Here are the full details. It's Wednesday of next week (January 7th) at 6.30pm at the Microsoft offices on 6th Avenue. Sign up using the Meetup if you can come!

Anyone planning on coming?

More from Intentional Software

Unfortunately I missed JAOO this year which was a shame as Intentional are starting to talk about the work they've been doing with CapGemini in the Pensions space.

I know it's old news, but I just got a chance to watch Charles Simonyi discussing the Intentional language workbench and it's really interesting for anyone interested in the future of working with DSLs.

Domain Specific Languages aren't for simple use cases . . .

DSLs aren't for simple use cases. DSLs are for use cases where repetition exists within the problem or solution domains. It's why we create classes with methods (a very simple language expressed as an API), it's why we create XML configuration files, it's why we create content management systems (and metadata management systems), it's why we write little languages and parsers, and why we create languages using visual language toolkits like Microsoft DSL tools, openArchitectureWare and MetaEdit+ . . .

[More]

A Great Example of Creating a DSL

Markus Voelter just had a great paper published at InfoQ. In it he works up a DSL for describing the architecture of a distributed system. It's slightly different from the usual examples but shows exactly the power and value in developing a Ubiquitous Language that is sufficiently formal to be used to generate code.

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.005.