IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Model Driven Development 
Kursusnavn (engelsk):Model Driven Development 
Semester:Efterår 2010 
Udbydes, softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Min. antal deltagere:
Forventet antal deltagere:55 
Maks. antal deltagere:100 
Formelle forudsætninger:The student needs to have a basic knowledge about object-oriented programming and terminology.

  1. More concretely students should know important object oriented programming terms such as classes, encapsualation, inheritance, polymorphism, interfaces, exceptions and UML class diagrams notation.

  2. Furthermore students should be able to design and implement small scale Java programs (more than 6 classes, 60-70 methods).

  3. Students should be comfortable using Eclipse as their development environment.

  4. It is recommended, but not required, to have additional programming experience on top of the introductory programming course (this includes both things like an additional development project, or basic knowledge of design patterns, refactoring, etc).

Læringsmål:After the course the student should be able to:

  • Describe the main techniques used for domain modeling and implementation (domain specific languages, modeling frameworks, transformation languages, code generators, graphical and textural syntaxes, component frameworks)
  • Incorporate model based techniques, primarily model serialization, deserialization, model transformation, and code generation into software architecture and the development process (for example to build a simple product line architecture)
  • Implement simple applications using Eclipse technologies: use eclipse as a development platform, extend it and customize it with your own plugins and editors
  • Use complex industrial frameworks (by having experienced work with OSGi, EMF, GMF, XText, Xpand and other components of the Eclipse platform)
  • Discuss, criticize and asses technologies in this space
Fagligt indhold:The goal of this course is to give you a mindset of working with software in an abstract and semi automated fashion, as in a production process (as opposed to a hand crafting process). This is achieved by introducing modeling languages and models as first class artifacts that are designed, manipulated, transformed and translated to code in an automatic fashion.

A secondary goal is to expose students to modern modeling technology from the Eclipse modeling project as a means of giving them easier entry into the Eclipse technical space, which is a popular platform in the Danish IT industry.

  • Component Based Development and software architecture using OSGi

  • Domain Specific Languages, meta-modeling, graphical and textural editors, model transformation and code generation using EMF, OCL, QVT and Xpand or similar technologies in the Eclipse modeling project (you will get an overview of main technologies available, while only few selected ones will be discussed and applied in depth).

  • Basics of building graphical and textural editors for domain specific languages using GMF and XText as an example

Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

The course has very high focus on the practical labs and will be held as a mix of class presentations and labs around building a running mini-project. Concepts and theory will be illustrated during lectures using technologies from the Eclipse modeling project, and the students will it out themselves on the mini project during the labs.

A mandatory report must be handed in before the exam, where the theory and technologies from the course are applied. The report description will be given after about half the lectures

I introugen (uge 35) er der kun undervisning fra 16-18 og øvelsestimer er aflyst.

During the intro week (week 35) this class will be held on its regular day but from 4-6PM (and exercises are cancelled).
See the course schedule here:
link to the time table
The schedule will be ready shortly before the beginning of the term.


Information about study structure
This course is part of the SDT specialization Models and Programs - find it described here: SDT specializations

Information om studiestruktur
Dette kursus er obligatorisk på masteruddannelsen i Softwarekonstruktion.

Se studieforløbet beskrevet her:
Master i Softwarekonstruktion  

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur


Litteratur udover forskningsartikler:T. Stahl, M. Völter: Model-Driven Software Development: Technology, Engineering, Management. Wiley (2006)

Optional litterature (Only as technology refererence)
Richard C. Gronbach: Eclipse Modeling Project. A Domain-Specific Language (DSL) Toolkit. Addison Wesley (2009)
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
Mandag 13.45-15.45 Forelæsning ITU Aud 2
Mandag 16.00-18.00 Øvelser ITU Aud 2, 4A54, 4A56, 4A58

Eksamen afholdes på følgende tid og sted:
2010-12-08 No later than 3 PM Skriftlige arbejder ITU The Examination Office
2011-01-06 Please contact the course manager Mundtlig eksamen ITU 2A08
2011-01-07 Please contact the course manager Mundtlig eksamen ITU 2A08
2011-01-08 Please contact the course manager Mundtlig eksamen ITU 2A08
2011-01-10 Please contact the course manager Mundtlig eksamen ITU 2A08
2011-02-21 Re-eksamen - Please contact the course manager Mundtlig eksamen ITU 3A50