Subweb Home
Aims and Objectives
MDA Introduction
MDA Benefits
MDA History
OMG Introduction
UML Introduction
MDA Explained
MDA User Guide
MDA Tool Support
Management Stuff
MDA Links
Acronyms
Overview of Unified Modeling Language in MDA
UML Logo
What is UML?

UML is the most widely used graphical language for specifying, visualizing, constructing, and documenting the artifacts of software systems during analysis and design.

However, it is important to realise that although UML has become the de facto modeling notation it is not, by itself, a Software Method.

The UML consists of a number of diagram types which are linked together in various ways. One of the most used type of diagram shows a domain partitioned in terms of entities in problem space known as objects.

History of UML

The original developers of the Unified Modeling Language (UML) were Grady Booch, James Rumbaugh and Ivar Jacobson. They were known as the “Three Amigos” and all worked for Rational.

The UML was proposed by Rational to the OMG as a standard in 1997 and it was adopted the same year.

UML was called the "Unified" Modeling Language because it attempted to combine the many notations and methods that had been developed in the early and mid 1990's. One notable exception UML did not try to assimilate was the Shlaer-Mellor Method.

The Role of UML in MDA

The UML is the OMG's recommended graphical language for constructing analysis models required by the MDA approach.

Each MDA specification has, as its normative base, two levels of models defined in UML.

The Platform Independent Model (PIM) is a high level UML model of the client's problem, incorporating all business rules and logic. No implementation details are present or even mentioned in this analysis. The language of the model is the same language the client uses when talking about their business.

A MDA specification also contains one or more Platform Specific Models (PSM) which may correspond to existing Middleware solutions. The most frequently modeled PSM is probably the Human Computer Interface (HCI) or User Interface.

The implementation features a PIM relies on are considered as requirements on the lower level PSMs.

Both PIMs and PSMs are defined using UML profiles. Although a new version of executable UML is being worked on by the OMG, it is not sufficiently rigorous (at the moment) to allow automatic code generation, which is one of the main aims of MDA.

MON-10-NOV-2003