Alan Cameron Wills - Domain Specific Languages

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

Writing about UML – my favorite pastime!

In the days long ago before I joined Microsoft, I was an itinerant consultant in UML. I’d wander the countryside with a slide deck, a projector and a cooking pot on my back, gathering small crowds under the shade of a tree to tell them the Good News: about how they could better understand and… Read more

Move to MSF

I’ve joined MSF – the Microsoft Solutions Framework.  MSF is about providing process “guidance”. Software development processes are about who does what and in what order – role X writes a spec or a story, role Y writes the software, role Z tests it, etc.  There are heaps of variations: different companies have widely differing sets… Read more

Models conference – place to show off your DSLs

The Models Conference is in Genova, Italy this year (October 1-6). If you have developed some interesting stuff in DSL Tools, this is the place to share it and get useful feedback. If you’re wondering about the best ways of using models to drive software, this is the place to hear about and discuss others’ experience… Read more

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 http://www.modelsconference.org/. 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