TutorialGPCE2
Generative Programming and Component Engineering
Building Domain Specific Languages with Eclipse and openArchitectureWare
Markus Völter, Independent Consultant
Arno Haase, Independent Software Architect
Sunday, October 22nd, from 13:30 to 17:00
Abstract
DSLs are an important aspect of Model-Driven Software Development. Since DSLs are
specific to a certain domain, it is the domain architect's task to define and implement DSLs so
that application developers can use the DSLs to configure or otherwise describe systems. In
this tutorial, participants will learn how to:
* Define metamodels that form the basis for a DSL
* Define a graphical syntax for the DSL
* Verify the correctness of models wrt. to the metamodel that underlies them
* Write transformations that transform models into executable code
To do all this, we will use tools and technologies from the Eclipse platform. These include
EMF for metamodelling, GMF for building graphical editors as well as
openArchitectureWare for verifying and transforming models, and to generate code.
The focus will be on the graphical editor and code generation.
The tutorial will be highly interactive with only a minimum of slides, many live presentations
show the tools at work.
Level: Intermediate
Required Knowledge
Attendees must have a solid understanding of object-orientation and architectural concepts as well as working knowledge of Java. A basic understanding of Model-Driven Software Development is helpful. Working knowledge in the use of Eclipse is very useful (since all our tooling will be based on Eclipse).
Speaker profiles
Markus works as a consultant for software technology and engineering. He focuses on
software architecture, middleware and model-driven development. Markus is the co-author of
several books on these topics. He is a regular speaker at conferences.
Arno works as an independent software architect. He has been working in the industry for
fifteen years. During the last years, he has specialized in introducing model-driven approaches
both at the project and the organization level.