Have Your Language Built While You Wait

13.15-14.45 Thursday 10 April, Code Generation 2014

Steven Kelly, MetaCase

12 master craftsmen, representing 4 top language workbench tools, have volunteered their time to build languages for participants' domains:

"Imagine the scene: master craftsmen await, hands poised over mouse and keyboard, ready for you to describe your domain. Together you draft out a prototype language for that domain, seeing it grow as they implement it in their tool. If you want, they might even give you the controls and let you get the feel of things yourself. When the whistle blows after 20 minutes, the work is saved for you and you move on to another craftsman, a different tool, and maybe an entirely different approach. Think of it as high tech speed dating, but without the crushing humiliation."

The session is intended for anyone interested in seeing what a language for their domain might look like, or how the language they already have in mind would look in different tools. If you don't have a domain of your own, we'll provide a choice of familiar domains to challenge the master craftsmen with, or you can just sit in and watch the fun.

Thanks to all the master craftsmen and participants!

1. Tools and Master Craftsmen

4 top language workbench tools were present, with 7 experienced language designers who built languages for participants' domains. Participants were asked to sign up beforehand and express their interest in tools, ranking them from 1st to 4th choice. Several more people were recruited on the day by Eugen Schindler - thanks! The most popular and highest-ranked request was MetaEdit+, followed by MPS and Spoofax. Participants were allocated to tools in the order their requests appeared, and we were able to accommodate everybody's first 3 choices.

Tool Master Craftsman
MetaEdit+ Juha-Pekka Tolvanen
Steven Kelly
Metarepository Petr Smolík
MPS Markus Voelter
Bernd Kolb
Spoofax Guido Wachsmuth
Gabriël Konat

2. Session Results

The master craftsmen were asked to send screenshots of the resulting languages and models (anonymized where necessary). Below are the metamodels on the left, and example models on the right.

2.1 MetaEdit+

The MetaEdit+ languages were built in the graphical GOPRR metamodeling language.

2.1.1 MetaEdit+, model transformations

Participant: Marcus Munzert

Generator JPA

2.1.2 MetaEdit+, banking

Participant: Mike Finn (cf. Mike's own banking model)

Bank NatWest

2.1.3 MetaEdit+, semiconductor manufacturing flows

Participant: Eduardo Gutiérrez

Fab Flows Primary procedure for part 1
Fab Flows - content NE_84B


2.2 Metarepository

2.2.1 Metarepository, Address & Person

Participant: Heinz Rohmer

2.2.2 Metarepository, Class & Material

Participant: Gianluca Rossi

2.2.3 Metarepository, Assembly & Part

Participant: Roch Bertucat