Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"Model-Driven Software Development: Introduction & Best Practices"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Technical Program > Tutorials > All Tutorials

 : Sunday Morning Tutorials (8:30 - 12:00) : Generative Programming : Sunday : Methodologies

Model-Driven Software Development: Introduction & Best Practices

Meeting Room 2
Sunday, 8:30, half day


Markus Voelter, Independent Consultant:  Markus works as an independent consultant on software technology and engineering. He focuses on the architecture of large, distributed systems. Over the last years, Markus has worked on several model-driven software development projects in the enterprise and embedded world. Examples include banking, automotive and radio astronomy. Markus is a regular speaker at the relevant national and international conferences. For example, he has presented at ECOOP, OOP, OOPSLA, ACCU. Markus is the (co-)author of several patterns, many magazine articles as well as of Wiley's "Server Component Patterns" book.
Jorn Bettin, SoftMetaWare:  Jorn Bettin is a software consultant with a special interest in techniques to optimise the productivity of software development teams and in designing large-scale component systems. Prior to co-founding SoftMetaWare in 2002 he spent 13 years as a consultant and mentor in the IT industry in Germany, New Zealand, and Australia. He has implemented automated, model-driven development in several software organisations, has worked in methodology leadership roles in an IBM product development lab, and enjoys leading international teams dispersed across several locations. In recent years Jorn has presented material on model-driven software development in a number of OOPSLA workshops.

Tutorial number: 1

In today's complex world model-driven approaches are becoming more and more important—OMG's MDA initiative being the most well-known but by no means only flavour of this approach.

To select the most suitable flavour of MDSD it is necessary to understand the basic approach and differences among the flavours. Adopting a model-driven approach to software development today also requires architects to understand the implications of such an approach on process, techniques and tooling. This tutorial consists of three parts:

  1. Introduction: Explains basic principles and core building blocks, such as meta modelling, model transformation, and code generation.
  2. Flavours: Shows different flavours of model-driven development and connections to related topics (Domain-Driven Design, Domain-Specific Modelling, Generative Programming)
  3. Best Practices: For process, meta modelling, tool construction and application infrastructure development. The best practices are tool independent, and can be applied in conjunction with Open Source MDSD tools or with suitable commercial tools.

Attendees will understand the concepts behind MDSD and will be able to distinguish facts from fiction with regards to MDSD and MDA. Based on the presenter's experience, a realistic picture of today's state of the art will be drawn. The best practices will make sure attendees will not make typical beginner's mistakes when adopting the approach in their projects.

Intermediate: Attendees must have a solid understanding of object-orientation, architectural concepts as well as (UML-based) modelling.