Alan Cameron Wills - Domain Specific Languages

Models, domain-specific languages, code generation, ....

Extending the DSL Tools

The DSL Tools are extensible – as well as writing a specification of your own language, you can add your own code to extend the language and its tools in various ways. One of the best ways to learn the extensions is by reading the DSL Samples. They include detailed writeups on how to customize the… Read more

Models/UML conference

The Models/UML conference has posted its call for papers Steve, Stuart and I take it in turns on the programme committee for this. (Stuart was Programme Chair last year.) “The MoDELS series of conferences are devoted to the topic of model-driven engineering, covering both languages and systems used to create complex systems. These conferences are both… Read more

End-to-end DSL samples available

We’ve just published an updated set of samples for the DSL Tools. As well as updates to the previous examples, which show how to customize your DSL, there’s now a complete small end-to-end showing how a DSL can be used to generate the code of a project, and work as part of a larger solution. The scenario… Read more

partial classes

We use partial classes a lot in the DSL Tools. We need them to help compose code that’s generated from different places, and generated with handwritten code. If you’re not familiar with it, a partial class definition is just a set of methods, properties etc that gets combined with another partial definition at link time,… Read more

Constraints and Restrictions in MS DSL Tools

I do get irritated by over-officious tools. “You can’t use that name, you’ve used it already over there.” Well, I know, but I’m going to change that in a moment, and it’ll be alright in the end, really. In the DSL Tools Customization Samples & Guide, there is a section showing you how to prevent… Read more

Rules in the DSL Tools

In the DSL Tools  Customization Samples & Guide there’s some examples that use MDF rules to spot a change and react to it. (1) In the class diagram sample, attributes are displayed as a string like “aName : SomeType”, and in the properties grid, the name and type are in separate properties. All three forms are accessible… Read more

Customizing the MS Domain Specific Language Tools

One of the features of the DSL Tools is extensibility. With the language definition files, you can define a wide range of thing-and-link style graphical notations. The current version of the Tools comes with a set of templates for creating class, use case and activities diagrams; but the idea is that you adapt the language definitions to… Read more


JAOO  in Aarhus, Denmark, is getting big – almost 900 participants, I heard. There was a Domain Specific Languages track on Wednesday – DSLs is really gathering steam!  The day kicked off with an excellent plenary on Software Factories and DSLs by Microsoft architects Arvindra Sehmi and Beat Schwegler. Markus Voelter gave a very interesting talk… Read more

Frequently Asked Questions

There’s now a DSL Tools FAQ, which I’ve pulled together from the multifariouse Q&A on the DSL Tools Forum over the past few months. Thanks to all the questioners and answerers…. Read more