M05 Industrial A: How to Implement Domain-Specific Modeling Languages: Hands-on Tutorial

Printer-friendly versionPDF version
Location / Room: 
Konferenz 5


Juha-Pekka Tolvanen, MetaCase, FI (Contact Juha-Pekka Tolvanen)

You've probably heard people say that defining a graphical modeling language is difficult and time-consuming. In this tutorial, we will lay bare this fallacy and demonstrate how simple and quick it is to create domain-specific languages and their generators. Using a hands-on approach you will define several modeling languages and generators within a few hours, learning principles and best practices proven in industrial experience. Even existing models update when the language is refined. The tutorial teaches practical, repeatable steps to invent and implement DSL. The language definition process reveals the characteristics of DSLs that enable generating working code from models:

  • DSL is based on the concepts of problem domain rather than code
  • Scope of the language narrowed down to a particular domain
  • Language minimizes the effort needed to create, update and check the models
  • Language supports communication with users and customers

Participants will learn how to define domain-specific modeling languages, including proven practices. During the tutorial we focus on medical devices and creating DSLs for their development. We also inspect modeling support and generators made in the industry for various embedded systems, like telecommunication, consumer electronics and industry automation systems.

This tutorial is an interactive tutorial where participants will define a modelling language for a narrow domain. Organizers will provide a sample case (from common and known application domains) and moderate the groups for making sure they make progress, without leading them in any particular direction. Language creation can be done in any technology or tool that is available for the participants. For the rest organizers will provide tools for language creation and participants should bring their own laptop for the class. No prior experience on language creation is required, but participants should have experience on using at least one modeling tool. Tutorial material includes slides and description of the domain to be tackled in the hands-on part.


Dr. Juha-Pekka Tolvanen works for MetaCase. He has been involved in domain-specific languages and tools since 1991 and acted as a consultant world-wide on their use. Juha-Pekka has co-authored a book (Domain-Specific Modeling, Wiley) and over 70 articles in software development magazines and conferences. Juha-Pekka holds a Ph.D. in computer science and he is an adjunct professor at the University of Jyvaskyla.