Highlights from LWC 2011: Language Workbench Competition 2011 (co-located with Code Generation 2011)

Language Workbenches, as defined originally by Martin Fowler, are tools aiming to cope with DSL creation and code generation to increase the level of abstraction of software development [credit to Pedro J. Molina for the reference].The Language Workbench Competition at Code Generation 2011 aimed at gathering and comparing the features of different workbenches available today, through a small challenge based on a set of requirements.
Then, the challenge was summarized in the Code Generation main event. Here is a quick writeup of the presentations of two good representatives of the presented tools, not focusing on the performance within the challenge but more oriented to giving an overview to the field (especially for novices).
The complete list of submitters includes:

Among the above, I could only attend the summary of the two contributions from OOMEGA and Intentional:

OOMEGA (www.xenium.de, www.oomega.net), presented by Christian Merenda
Oomega is based on Eclipse, supports ATL for M2M transformations and Xpand for M2T transformations.
It’s based on the theoretical graph-based Edge Algebra
Upon it, there is M2L as a metamodeling language.
Oomega is the tool that implements it.
It works with continuous and incremental changes between the graphical and textual representation of the models.
The tool is showcasing 5 interrelated DSLs.

Intentional Domain Workbench (http://intentsoft.com/), presented by Mats Helander
It’s a projectional editor, not a text-based tool (i.e., based on a parser). It’s instead based on a tree representation of the languages, which is then reshaped based on projections.
References are not name-based but node-based instead. Every node has an ID and you reference them. So, if you change a name of a class, you get automatic updates in the referenced objects.
The specification is based on an extension of C#, extended with some DSLs.
You can get textual or graphical projections, and also document-like projections; you can mix different notations.
This allows involvement of non-technical, business users too
You also get for free code-completion-like features.
The technical paper presenting the solution to the challenge is available here.

To keep updated on my activities you can subscribe to the RSS feed of my blog or follow my twitter account (@MarcoBrambi).

2 thoughts on “Highlights from LWC 2011: Language Workbench Competition 2011 (co-located with Code Generation 2011)

  1. Marco, thanks for summarizing the summary session we had on Thursday.

    One thing should be clarified though. As we stated on Tuesday, the competitoin had no winners (nor loosers). In that sense, I have to add here that OOMEGA and Intentionals were not selected per se, they should instead be thanked for helping the organisers of CG2011 and LWC11 to fill an empty slot in the programme (the planned speakers were not able to fly in due to the Icelandic ash cloud).

Leave a Reply to Marco Brambilla Cancel reply

Your email address will not be published. Required fields are marked *