Course IN4308
Model-driven software development aims to improve software development by employing high-level, domain-specific models in the implementation, integration, maintenance, and testing of software systems. Models capture designs at a higher-level of abstraction. Unlike technical documentation which has a fragile connection to the implementation of a software system, models are an integral part of the software life cycle. Developers translate designs into models for an appropriate meta-model, which are then automatically transformed to implementations. Thus, with an appropriate modelling language, the effort of producing a new software system decreases and maintenance is reduced to model maintenance.
This course studies the paradigm of model-driven software development and the methods and techniques available for its realization. Topics include modeling, meta-modeling, technical spaces, domain analysis, domain-specific languages, code generation, and model transformation. The course consists of lectures and a series of practical assignments in which all aspects of MDSD, from modeling, to language design and code generation will be exercised.

| Date | Time | Lecture | ||
| 02/02/2010 | 15:45 | Model-Driven Software Development | ||
| 09/02/2010 | 15:45 | Domain Analysis & Data Modeling | ||
| 16/02/2010 | 15:45 | Web Abstractions 1 | ||
| 09/03/2010 | 15:45 | Web Abstractions 2 | ||
| 16/03/2010 | 15:45 | From DSL to Code | ||
| 23/03/2010 | 15:45 | Language Workbenches & Language Modeling | ||
| 30/03/2010 | 15:45 | Pretty Printing, Editor Services, Term Rewriting | ||
| 20/04/2010 | 15:45 | Context-Sensitive Transformation | ||
| 27/04/2010 | 15:45 | Static Analysis & Error Checking | ||
| 04/05/2010 | 15:45 | Code Generation | ||
| 18/05/2010 | 15:45 | Guest Lecture by Zef Hemel about Mobl: A Mobile Web DSL & Internal DSLs | ||
| 25/05/2010 | 15:45 | Extension and Evolution | ||
| 01/06/2010 | 15:45 | Guest Lecture by Betsy Pepels: MDSD @ CapGemini | ||
| 08/06/2010 | 15:45 | Guest Lecture by Johan den Haan & Michel Weststrate about Mendix |
| Due date | Assignment | |
| 20/02/2010 0:00 | WebDSL Tour | |
| 03/03/2010 0:00 | Case 1: Domain Analysis & Data Modeling | |
| 03/04/2010 0:00 | Design 1: Build a Web Application with WebDSL | |
| 11/04/2010 0:00 | Case 2: Abstractions for the Web | |
| 10/05/2010 0:00 | Case 3: Syntax Definition & Term Rewriting | |
| 07/07/2010 0:00 | Case 4: Summary | |
| 01/09/2010 0:00 | Design 2: Build a Domain-Specific Language with Spoofax/IMP |
| Title | Updated | |
| Reading Material | 08/02/2010 19:48 | |
| Tips for using the machines at DW-PC 1.180 | 09/02/2010 16:42 | |
| Ideas for DSLs | 21/04/2010 12:07 |