Department of Computer Science
University of Salzburg
Introduction to Model Driven Architecture
(MDA)
Seminar Paper
June 2007
Igor Sacevski, sachead@gmx. net
Jadranka Veseli, jaca@gmx. at
Abstract
The purpose of this paper is to provide a general overview of OMG’s Model Driven
Architecture (MDA). The paper describes the advantages and disadvantages in using the
MDA from a business perspective. It also provides the basic specifications and functionality
Of the MDA as defined by OMG and gives a brief introduction to the most commonly used
Modelling languages and tools that support the MDA standard.
Keyword: Model Driven Architecture, MDA, Model Driven Development, MDD, UML,
XMI, CWM, MOF, Modelling, OMG
1. History
OMG war founded in 1989 and today has a consortium from over 800 companies over
The world. Some of OMG’s accomplishments are the Common Object Request Broker
Architecture™ (CORBA™), Unified Modelling Language™ (UML™),Meta Object
Facility™ (MOF™), XML Metadata interchange (XMI™) and the Common Warehouse
Metamodel™ (CWM™).All of these standard contribute to making the idea of model driven
Development a reality. Roughly around 2001 OMG adopted a new framework called the
Model Driven Architecture (MDA). Unlike the other standards of the OMG the MDA offers a
Way to use models instead of the traditional source code. It remains to be seen if this new way
Of software development will be accepted among the developers and the companies.
2. Why use models?
Model is an abstraction of a system or a part of it. Depending on the type of the model
It can provide a simple view of the system or a more detailed one. In the software engineering
Models have a long and rich history. Designers often use models for planning their projects or
/>
Explaining them to someone. These models are normally simple sketches that don’t contain
Any relevant information of the way the project is to be implemented. One preparing a
Presentation of a project we use somewhat more specialized models. Nowadays the most
Commonly used models are the UML models. In his book Martin Fowler explains three uses
For the UML: UML as a Sketch, UML as a Blueprint and UML as a Programming language.
The last one became a possibility with the new UML 2 which we well discuss later on, and
Also a good foundation for using the MDA. Today a large percent of the developers use the
UML models parallel with the software systems they design. It provides an effective way for
Communication between the designers especially if the systems are complex and involve a
Number of teams in the design. What would be easier to understand: Graphical models or
Hundreds or thousands of lines of code?
3. Is MDA the next big breakthrough in software
Development?
Usually when working on a software project the requirements are often written
Documents with bullet points or textual scenarios, models are frequently just pictures with
Annotated details of programming interfaces, programs are almost always source code in a
Programming language and “bug” reports are kept in databases or logs. But none of the
Relationships between these parts of the project is usually stored. This removes the possibility
Of automation of some task and does not provide any consistency between the various aspects
Of the software project. This is problematic especially in cases of refactoring or reusing a
Project or even extending one. This is where the Model Driven Development comes in. It is