Root CUIP Metalevel

Posts from April 9th, 2012.

Summary: Language Workbenches Challenge 2012

LWC2012 logo

Two weeks ago, I honored the yearly tradition of traveling to Cambridge and join with my colleagues at the Code Generation Conference.

As commented before in this blog, this conference is something unique. It is not an academic oriented event: it has no papers and publications in the traditional way of an academic meeting. On the other hand, it shows live tools and samples of real technology in use in the industry and the latest research tools in the academia in the field of Software Modeling, Domain Specific Languages and Code Generation. If you want to meet and talk with the toolmakers this is definitely the place to come.

The event was intensively reported via twitter under the hashtags #cg2012 and #lwc2012.

In this first post I will review the LWC and write about CG2012 in the next one.

LWC2012

On Tuesday 27th, the 2nd edition of the Language Workbenches Challenge  took place. 32 of us meet there to see how 10 tools solved the Piping and Instrumentation problem. This year I was only an observer, no time from my side to prepare a solution, I hope to submit next year again.

Rui Curado presented his solution with AtomWeaver. He has added a graphical notation on the top of AtomWeaver in the late year. Great work.

Juha-Pekka Tolvanen shown a solution based in MetaEdit+. Based on the maturity of MetaEdit, the graphical nature of the problem and the experience of Juha-Pekka he excels his solution showing a use case of the system and later on going meta and showing us how it was done.

An UML solution was represented by Paul Zenden. Using Enterprise Architect as the base tool and complemented with Xtend/Xpand he was able to metamodel all the elements needed to describe the problem. He took advantage of the capabilities of the EA tool to add custom graphic symbols to the new symbols defined.

Tijs van der Storm presented a textual approach based on Rascal. Graphics were generated using an additional graphical library.

Alex Loh from Texas introduced us Ensō. Ensō is a new LW built on top of Ruby. Although a bit slow in its first version, it opens the doors a new way of LW taking advantage of the dynamic and interpretation capabilities of the Ruby language.

The Web is ubiquitous, and this issue is also reaching modeling concerns. Meinte Boersma in cooperation with Martin Thiede presented Más (Modeling As Service, más = means more in Spanish). Martin created and presented Concrete as a projectional editor based in Ruby and HTML5 in CG2011. Now Meinte has extended it to create a full web modeling environment targeting enterprise modeling.

Finally Marko Boger presented an implementation of the graphical language build using Spray. Spray is a project to provide textual DSLs to create graphical DSL on the top of Eclipse Graphitti.

Spray was conceived in the Castle Inn (our local CG reference pub) one year ago after a CG2011 session after people have the shared complaint about how painful and slow was to maintain GMF editors or to build them from scratch using Graphitti. Now one year later, Spray is a reality. Good job, very well done!

This edition was very diverse with respect a tools, approaches and solutions taken. Great workshop!

We ended the day with the traditional family photo. Special thanks to Angelo Hulshout for organizing it and Paul Zenden for proposing the challenge and the reference implementation (thanks Angelo for remember me it as it was).
See you next year!

LWC2012 family photo