Skip to main content

IV2009 Model-driven Development of Components 7.5 credits

Level: Advanced

Course offering missing for current semester as well as for previous and coming semesters
Headings with content from the Course syllabus IV2009 (Spring 2009–) are denoted with an asterisk ( )

Content and learning outcomes

Course contents

The course contains the basis for developing components using methods based on model-driven architecture (MDA) and component-based development (CBD). During the tutorials and project assignments, the participants will learn a model driven method for component design. During the project assignments Enterprise Java Beans (EJB) components will be implemented based on technology and platform independent models.
The course also contains an introduction to service oriented computing (SOC) and service oriented architecture (SOA).
Required prior knowledge :
- Objektorienterad analysis and design with UML
- Good skills in object-orientered programming with Java
- Relational databses and SQL
× Model-driven Architecture (MDA) is a system development approach, in which the business logic is separated from the technology and platform specific parts of a system. Using MDA, a system is modelled in different levels of abstraction, by utilising standards for metadata representation, e.g. UML and MOF. This facilitates the reuse of models, and the automated generation from technology and platform independent models to technology and platform specific models.
× Component-based Development (CBD) is an approach for developing components, which can be used as building blocks in systems. Components are commonly running inside a specific component server in order to achieve efficient transaction handling and high scalability. CBD requires a new approach to system design, as well as knowledge about the component servers required to build high-performance systems.
Brief course contents:
- Model-driven architecture (MDA)
- Metadata and metamodels
- Standards for metadata representation: Unified Modeling Language (UML), Meta Object Facility (MOF) and Common Warehouse Metamodel (CWM).
- Component-based development (CBD), important design principles.
- A model-driven method for component analysis and design.
- Component environments and servers: Microsoft .net Enterprise Services/COM+, Enterprise Java Beans (EJB).
- Principles and standards for development of services (SOAP, UDDI, WSDL, SOA)

Intended learning outcomes

An advanced level course in model-driven architecture, object-oriented analysis, and component-based development, and how these can be combined to develop component-based systems.
After the course the participants should be able to:
1) Explain how several layers of models can be used for system construction by doing model transformations.
2) Use component based design principles and be able to explain how (and why) these differ from object-oriented principles.
3) Systematically be able to use models and component based design principles to design and construct systems.
4) Be able to explain the advantages of component servers, such as transaction handling and scalability, and know the basic features of the component technologies EJB, COM+ and .net.
5) Explain the structure/architecture of service oriented systems, and the basic principles behind service-orientation (SOA).
6) Know about the basic standards needed for model based development (MOF, CWM and XMI).

Course disposition

- 12 lectures on MDA and component based development
- 2 project assignments consisting of analysis, design and implementation of a component based system. The assignment is carried out in groups.
- Tutorial on enterprise java bean development.
- Tutorial using a model-driven development tool.
- Individual assignment on MDA.

Literature and preparations

Specific prerequisites

For single-course students:

Bachelor degree/180 hp (120 old credits) in information technology, information systems, computer science or computer and systems sciences.

Recommended prerequisites

- Object oriented analysis and design with UML
- Good skills in object-orientered programming with Java
- Relational databases and SQL


No information inserted


Anneke Kleppe, Jos Warmer, Wim Bast : MDA Explained, Addison-Wesley Professional, 2003, 978-0321194428

Compendium with articles about MDA, and Services/SOA. 

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

A, B, C, D, E, FX, F


  • PROA - Project, 4.5 credits, grading scale: P, F
  • TEN1 - Examination, 3.0 credits, grading scale: A, B, C, D, E, FX, F

Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

The examiner may apply another examination format when re-examining individual students.

Other requirements for final grade

To pass the course the student needs to pass both the project part and the written exam. The final course grade is based on the grade of exam.

Opportunity to complete the requirements via supplementary examination

No information inserted

Opportunity to raise an approved grade via renewed examination

No information inserted


Profile picture Martin Henkel

Ethical approach

  • All members of a group are responsible for the group's work.
  • In any assessment, every student shall honestly disclose any help received and sources used.
  • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

Further information

Course web

Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.

Course web IV2009

Offered by

ICT/Software and Computer Systems

Main field of study

This course does not belong to any Main field of study.

Education cycle

Second cycle

Add-on studies

No information inserted


Martin Henkel,, 08-161637