B Support for Model Driven Architecture

The OMG's Model Driven Architecture (MDA) initiative is an evolving conceptual architecture for a set of industry-wide
technology specifications that will support a model-driven approach to software development. Although MDA is not itself
a technology specification, it represents an approach and a plan to achieve a set of cohesive set of model-driven
technology specifications.

The MDA initiative was initiated relatively recently, after the UML 2.0 RFPs were issued. However, as noted in the
OMG's Executive Overview of MDA (www.omg.org/mda/executive_overview.htm): "[MDA] is built on the solid
foundation of well-established OMG standards, including: Unified Modeling LanguageTM (UMLTM), the ubiquitous
modeling notation used and supported by every major company in the software industry; XML Metadata Interchange
(XMITM), the standard for storing and exchanging models using XML; and CORBATM, the most popular open middleware
standard." Consequently, it is expected that this proposed major revision to UML will play an important role in furthering
the goals of MDA.

At the time of this writing, there appears to be no official, nor commonly agreed upon definition of MDA or its
requirements. However, the OMG provides an executive summary for the initiative, along with a collection of white
papers and presentations at www.omg.org/mda. In addition, the OMG Object Reference Model Subcommittee has
produced a "Text for an MDA Guide" draft (ormsc/02-10-01) that is intended to be used in a future MDA Guide. This
MDA Guide draft characterizes MDA as follows:

"MDA provides an approach and tools for:
- specifying a system independently of the platform that supports it,
- specifying platforms,
- choosing a particular platform for the system, and
- transforming the system specification into one for a particular platform."

In addition, this MDA Guide draft and many other MDA documents commonly refer to a "UML family of languages,"
which is described in the MDA Guide draft as: "Extensions to the UML language [that] will be standardized for specific
purposes. Many of these will be designed specifically for use in MDA."

Given the nascent and evolving state of MDA, and the lack of common and precise definitions and requirements, it is
problematic to show strict architectural alignment with it. However, the following sections explain how UML 2.0
supports the most prominent concepts in the evolving MDA vision.