SPA Conference session: Domain-Specific Modelling for Full Code Generation

One-line description:This tutorial introduces Domain-Specific Modelling and teaches how to define modelling languages that enable full code generation
 
Session format: Tutorial (150 mins) [read about the different session types]
 
Abstract:Domain-Specific Modelling (DSM) languages provide a viable solution for improving development productivity by raising the level of abstraction beyond coding. With DSM, the models are made up of elements representing concepts that are part of the domain world, not the code world. In many cases, full final product code can be automatically generated from these high-level specifications with domain-specific code generators.

This tutorial introduces DSM and looks at how it differs from modelling languages like UML that focus more on the level of the code world. This is followed by real-life examples of DSM from various fields of software development. The main part of the tutorial addresses the guidelines for implementing DSM: how to identify the necessary language constructs, how to define the metamodel to formalize language specification, and different ways of building code generation. Participants will have the chance to learn pragmatic skills of language creation and modification in exercises.
 
Audience background:Participants should have some experiences on using a modelling or code generation tool
 
Benefits of participating:Participants will learn how to define modelling languages that enable full code generation from models. participants will see practical examples from various areas of application development.
 
Materials provided:Powerpoint slides, "live" language demonstrations
 
Process:Tutorial starts by introducing DSM and comparing it to other modelling approaches. This is followed by demonstration of industry examples from different fields of software development. Main part of the tutorial teaches modelling language design and implementation of code generators. The tutorial includes group work exercises in which the participants will define and extend modelling languages.
 
Detailed timetable:00:00 - 00:20 Introduction to Domain-Specific Modelling (DSM)
00:20 - 00:40 Industry examples, 6 cases
00:40 - 00:50 Architecture for DSM use and definition
00:50 - 01:15 How to define a modelling language
01:15 - 01:30 Break
01:30 - 01:45 How to define a modelling language, task
01:45 - 02:15 How to define code generators, code generator samples
02:15 - 02:30 Conclusions and discussion
 
Outputs:The outputs of the session include developed language designs.
 
History:This tutorial is based on the book by Kelly and Tolvanen, Domain-Specific Modeling: Enabling full code generation, to be published by Wiley early 2008. Part of this tutorial has been presented at OOP 2007, SD West 2007 and SPLC 2007. The material is updated and an assignment is added to support learning and make the tutorial more interactive.
 
Presenters
1. Juha-Pekka Tolvanen
MetaCase
2. 3.