Domain-Specific Modeling: The Next Generation of Software Development

last modified Aug 20, 2007 03:49 PM
INFWEST seminar in Jyväskylä 28.-30.5.2007

Speakers (see bios below):
Marc Stroucken (Philips Research, Koninklijke Philips Electronics, N.V.)
Juha-Pekka Tolvanen (MetaCase, University of Jyväskylä)
Markus Völter (Voelter Consulting)
Steven Kelly (MetaCase Oy)

University of Jyväskylä, Agora Building (Mattilanniemi 2), Gamma-room

By email to at latest approximately one week before the seminar

350 EUR (meals not included).
For the employees of the INFWEST member university departments, participation is free of charge.

Right after the seminar, there will be Tietojenkäsittelytieteen päivät 2007 event at Agora. Theme for this year is Domain Specific Modeling. Please, see more at


Monday May 28
09.00 - 09.15 Opening (Kai Koskimies)
09.15 - 10.30 Introduction to Model-Driven Software Development (Markus Völter)
10.30 - 11.00 Break
11.00 - 12.30 Languages for automation; history and background (Juha-Pekka Tolvanen)
12.30 - 13.30 Lunch
13.30 - 15.00 How to define modeling languages (Juha-Pekka Tolvanen)
15.00 - 15.15 Break
15.15 - 16.30 Code generators and frameworks: background (Steven Kelly)
16.30 - 17.00 Discussion
18.00 - > Sauna evening at Innova (Piippukatu 11)

Tuesday May 29
09.00 - 10.30 Best practices for model-driven software development (Markus Völter)
10.30 - 11.00 Break
11.00 - 12.30 Hands-on: define a domain-specific modeling language (Juha-Pekka Tolvanen)
12.30 - 13.30 Lunch
13.30 - 15.00 MDD tooling based on the Eclipse platform (Markus Völter)
15.00 - 15.15 Break
15.15 - 17.00 Panel

Wednesday May 30
09.00 - 10.30 Overview of the VAMPIRE approach (Marc Stroucken)
10.30 - 11.00 Break
11.00 - 12.30 How to define code generators (Steven Kelly)
12.30 - 13.30 Lunch
13.30 - 15.00 Advanced modeling in VAMPIRE (Marc Stroucken)
15.00 - 15.15 Break
15.15 - 16.30 Code generation definition: hands-on (Steven Kelly)
16.30 - 17.00 Final discussion


Marc Stroucken (Philips Research, Koninklijke Philips Electronics, N.V.)

A Minimalist Approach to Model Driven Development

VAMPIRE is a light-weight model-driven approach to domain-specific software development. The VAMPIRE framework is being developed by Philips Research. It primarily aims at raising the level of abstraction at which the software for Philips products is produced. The main idea is to capture the domain knowledge by means of models and to develop (parts of) applications by instantiating these models and generating the code, documentation, and other artifacts. VAMPIRE consists of a collection of loosely-coupled tools and represents a minimalist approach that allows us to apply MDD now without having to wait till tools that would fit our needs appear.

In the first session we will give an overview of the VAMPIRE approach and its concepts. In the second session we zoom in on a number of features that have been implemented in VAMPIRE that are currently not available from commodity MDD tools. These include among other things domain-specific meta-modeling, model reflection, aspect-oriented modeling (AOM), model composition, and the interpretive use of models.

Marc Stroucken studied Mathematics and Computer Science at the Technical University of Eindhoven. He has over 17 years of experience in software development within Philips working for Communication Systems, Consumer Electronics, Semiconductors and Medical Systems, of which the last 12 years as system architect. Marc is working in the field of architecture synthesis & analysis, with main focus on interface and component technology. He is currently an architecture consultant for Philips Medical Systems working on system architectures & platforms of the future, and improving the overall architecting process. His current interests are in meta-modeling, model-driven development and XML technology.


Juha-Pekka Tolvanen and Steven Kelly (MetaCase, University of Jyväskylä)

Domain-Specific Modeling for Full Code Generation

Domain-Specific Modeling (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 (like e.g. in UML). These languages follow domain abstractions and semantics, allowing developers to perceive themselves as working directly with domain concepts. In many cases, full final product code can be automatically generated from these high-level specifications with domain-specific code generators. This session introduces DSM with real-life examples from various fields of software product development. Main part addresses the practices of implementing DSM: how to define modeling languages and build code generators. During hands-on sessions we try out the lessons learned. Participants (or one in a group) can bring their own laptop and language and code generation definition tool. Organizers will provide tools for those without.


Dr. Juha-Pekka Tolvanen is the CEO of MetaCase and co-founder of the DSM Forum. He has been involved in model-driven development and tools, notably method engineering and metamodeling since 1991. He has acted as a consultant world-wide for modeling language development and has written over 50 articles for software development magazines and conferences, such as Embedded Systems, JavaSpektrum, DevX, Journal of AIS and ObjektSpektrum.

Juha-Pekka is a regular speaker at industry events and conferences — most recently with a keynote at the ACM/IEEE Conference on Model Driven Engineering Languages and Systems and panels at UML&Design World, Software Development West and OOP. Juha-Pekka co-started the OOPSLA workshops on Domain-Specific Modeling in 2001 and has been on the organizing committee since. He is also a member of IFIP WG8.1 Method Engineering task group and has co-edited a special Domain-Specific Modeling issue of the Journal of Visual Languages and Computing.

Juha-Pekka holds a Ph.D. in computer science from the University of Jyväskylä, Finland (best national dissertation award 1999). He received his Master's degree (econ.) in 1990 and Licentiate degree in 1994. He is also an adjunct professor (docent on software development methods) at the University of Jyväskylä.


Markus Völter (Voelter Consulting)

Introduction to Model-Driven Software Development

Model-Driven Software Development is about automatically building software from formal models. In this session I will introduce the topic and motivate why it is necessary. I will show a number of examples and discuss the potential benefits of the approach.

Best Practices for Model-Driven Software Development

This session covers a set of best practices for MDSD exracted from a number of projects in different domains over the last years. This includes topics such as how to integrate generated and manually written code, the role of model-2-model transformations, multi-viewpoint modeling an different kinds of concrete syntax.

MDD tooling based on the Eclipse platform

This session illustrates the conceptes and best practices explained in the first two sessions using Eclipse tooling.
Specifically, Eclipse EMF and GMF, as well as openArchitectureWare will be used. The latter isa complete,
industry-strength solution for model-driven development. oAW integrates a number of tool components for all aspects of MDSD into a coherent framework. Where possible, it integrates components from other Eclipse-based, MDD-related projects. The evolution of oAW is driven by the needs of developers implementing MDD in actual projects.


Markus Völter works as an independent consultant and coach for software technology and engineering. He focuses on software architecture, middleware as well as model-driven software development. Markus is the author of several magazine articles, patterns and books on middleware and model-driven software development. He is a regular speaker at conferences world wide. Markus can be reached at voelter at acm dot org via or


Steven Kelly (CTO MetaCase Oy)


Dr. Steven Kelly is the CTO of MetaCase and co-founder of the DSM Forum. He has over ten years of experience of building metaCASE environments and acting as a consultant on their use in Domain-Specific Modeling. 
As architect and lead developer of MetaEdit+, MetaCase's domain-specific modeling tool, he has seen it win or be a finalist in awards from Byte, the Innosuomi prize for innovation awarded by the Finnish President, Net.Object Days, and the Software Development Jolt awards. Ever present on the program committee of the OOPSLA workshops on Domain-Specific Modeling, he co-organized the first workshop in 2001. He is author of over 20 articles, most recently in journals such as Dr. Dobb's and ObjektSpektrum, and is a member of the editorial board for the Journal of Database Management.

He has an M.A. (Hons.) in Mathematics and Computer Science from the Univeristy of Cambridge, and a Ph.D. from the University of Jyväskylä. His computer education began with machine code, Assembler and BASIC, and came to rest in Smalltalk.

Outside of work, he has co-authored the first grammar of the Kenyan Orma language, and is a soccer player in the Finnish Third Division.