IT-Universitetet i København
  Tilbage Kursusoversigt
Kursusnavn (dansk):Model Driven Development 
Kursusnavn (engelsk):Model Driven Development (formerly Advanced Object Oriented Programming) 
Semester:Efterår 2009 
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, dynamic languages, component frameworks)
  • Incorporate model based techniques, primarily model serialization, deserialization, 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 platform, extend it and customize with your own plugins and editors
  • Use complex industrial frameworks (by having experienced work with OSGi, EMF, GMF, 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, model transformation and code generation using EMF, OpenArchitectureWare, XTEXT, ATL 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).

  • Product Line Architectures, Software Product Lines as an application area for domain specific languages and code generation.

  • Basics of building graphical domain specific editors using GMF as an example

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

The course will be held as a mix of class presentations and labs around building a running mini-project.
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
In order to graduate as a MSc in SDT, you need to pass the SDT backbone courses, and also take a 22,5 ECTS specialization and two 7,5 ECTS electives.

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

Se studieforløbet beskrevet her:
Master i Softwarekonstruktion

Eksamensform og -beskrivelse:D. submission of written work with following oral (7-scale; external exam), 7-trins-skala, Ekstern censur

Lab exercises in the course are organized as a running mini-project. The mini-project report has to be handed in. The report serves as the starting point for the exam.  

Litteratur udover forskningsartikler:Richard C. Gronbach: Eclipse Modeling Project. A Domain-Specific Language (DSL) Toolkit. Addison Wesley (2009)
Følgende personer underviser på kurset:
NavnStillingUndervisertypeIndsats (%)
Steen Brahe Ekstern lektor(ITU) Kursusansvarlig 50
Tonny Madsen Ekstern lektor(ITU) Underviser 50

Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
Mandag 13.00-15.00 Forelæsning ITU 2A14
Mandag 15.00-17.00 Øvelser ITU 4A56, 4A58

Eksamen afholdes på følgende tid og sted:
2009-12-16 Før kl 15 Skriftlige arbejder ITU Lokale oplyses senere
2010-01-25 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20
2010-01-26 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20
2010-01-27 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20
2010-01-28 Kontakt kursusansvarlig Mundtlig eksamen ITU 4A20