IV2009 Model-driven Development of Components 7.5 credits

Model-driven Development of Components

Level: Advanced

Offering and execution

Course offering missing for current semester as well as for previous and coming semesters

Course information

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

Equipment

No information inserted

Literature

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

Grading scale *

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

Examination *

  • 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

Examiner

Martin Henkel

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 *

No information inserted

Education cycle *

Second cycle

Add-on studies

No information inserted

Contact

Martin Henkel, martinh@dsv.su.se, 08-161637

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.