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. | |