Sign in

Model-Driven Software Development

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.

Contact Information

Lectures

DateTimeLecture
02/02/201015:45Model-Driven Software Development
09/02/201015:45Domain Analysis & Data Modeling
16/02/201015:45Web Abstractions 1
09/03/201015:45Web Abstractions 2
16/03/201015:45From DSL to Code
23/03/201015:45Language Workbenches & Language Modeling
30/03/201015:45Pretty Printing, Editor Services, Term Rewriting
20/04/201015:45Context-Sensitive Transformation
27/04/201015:45Static Analysis & Error Checking
04/05/201015:45Code Generation
18/05/201015:45Guest Lecture by Zef Hemel about Mobl: A Mobile Web DSL & Internal DSLs
25/05/201015:45Extension and Evolution
01/06/201015:45Guest Lecture by Betsy Pepels: MDSD @ CapGemini
08/06/201015:45Guest Lecture by Johan den Haan & Michel Weststrate about Mendix

Assignments

Due dateAssignment
20/02/2010 0:00WebDSL Tour
03/03/2010 0:00Case 1: Domain Analysis & Data Modeling
03/04/2010 0:00Design 1: Build a Web Application with WebDSL
11/04/2010 0:00Case 2: Abstractions for the Web
10/05/2010 0:00Case 3: Syntax Definition & Term Rewriting
07/07/2010 0:00Case 4: Summary
01/09/2010 0:00Design 2: Build a Domain-Specific Language with Spoofax/IMP

Notes

TitleUpdated
Reading Material08/02/2010 19:48
Tips for using the machines at DW-PC 1.18009/02/2010 16:42
Ideas for DSLs21/04/2010 12:07

Lecturers

Assistants