DSL Day @ JAX 2008
This year's JAX 2008
conference will feature a full day on Domain Specific Languages. DSLs are a wide field. During this DSL Day we will try to cover many important aspects of DSLs, although there can be no hope of capturing everything.
In the first session (run by Juha Pekka Tolvanen from Metacase
) we will learn how to define a domain meta model and a nice graphical syntax using the MetaEdit+ tool. In addition, we will learn how to to generate executable code from the models created with the domain-specific modeling language.
The second talk (by somebody from NoMagic
) we will look at how a modern UML tool can be customized with a domain-specific profile. Creation of the profile, customization of a UML diagram and code generation from that UML model will be covered in this session.
Talk number three (by Sven Efftinge of itemis
) will turn slightly towards textual DSLs. They will discuss the tradeoffs between textual DSLs and graphical DSLs and show an example with the Xtext tool (a part of openArchitectureWare). To make sure it's not either-or, they will show how textual and graphical syntax can be combined sensibly.
Continuing down the route to textual DSLs, we will look at internal textual DSLs in talk number four (by Guillaume Laforge, Groovy
Proejct Lead). Internal DSLs are especially useful in dynamic languages such as Ruby or Groovy. In this session we will learn about the advantages of internal DSLs and how to build them using meta programming in Groovy.
The final presentation (by Markus Voelter
and Bernd Kolb
) looks at the alternative to code generation in the context of external DSLs: Interpretation. We will briefly construct a textual DSL and then write a nice interpreter for the DSL. The interpreter will be written in Scala. We will also use a model transformation to transform between different languages.
The day will be concluded with a panel that includes all the speakers from the various sessions. Since we have advocates for each of the different flavours of DSLs, the panel should be educating as well as entertaining -- there's nothing more boring than a panel where everybody agrees
Labels: eclipse, openarchitectureware