MDA (Model Driven Architecture)
Introduction to MDA (Model Driven Architecture)
Model-driven architecture, also known as MDA, is a software design approach for the
development of software systems. It helps build code faster in a well constructed and reliable
manner. The basic Idea of MDA is that it separates business and application logic from
fundamental platform technology in the following two steps.
1. Create a platform-independent model documenting business functionality and
2. Then implement a platform specific model
How Does MDA Differ From a Traditional Approach
MDA differs from the traditional development because with MDA you first build your object
model using UML(Unified Modeling Language), then code is generated from the UML model
using a code generation tool.
Why is MDA Important
To understand the importance of MDA we must look at the present state of software
development and the future state suggested by MDA.
In the present the main business value of a software development project is delivered as source
code. But source code isn’t agile. The source code would often be tied to a particular platform
or a particular infrastructure, such as J2EE or .NET. Source code would then always be written
in a specific programming language.
In the future, when the MDA approach is used, the main business value of a software
development project is delivered as UML models. UML models are more agile than source code
because they are not tied to a particular platform, infrastructure, or programming language.
When MDA is used, UML models become important resources that can be transformed into
code for various platforms, infrastructures and languages. You can read more about the
importance of MDA here.
These are the benefits of MDA according to omg.org’s executive overview .
Reduced cost throughout the application life-cycle
Reduced development time for new applications
Improved application quality
Increased return on technology investments
Rapid inclusion of emerging technology benefits into their existing systems
MDA provides a solid framework that frees system infrastructures to evolve in response to a
never-ending parade of platforms, while preserving and leveraging existing technology
investments. It enables system integration strategies that are better, faster and cheaper.
Who Is Responsible for MDA
MDA is the official base architecture for OMG specifications. MDA was defined and developed
by the OMG membership which includes computer vendors, software suppliers, and other end
users. The ideas that are contributed from all of OMG’s members have helped define the MDA
MDA v1.0.1 Guide
The latest version of the MDA guide v1.0.1 can be found here: http://www.omg.org/docs/omg/03-06-
Supporters of MDA
Two large companies that support MDA are:
o IBM : http://www-01.ibm.com/software/rational/uml/mda/products.html
o Kabria Technologies: http://www.omg.org/mda/mda_files/Kabira_Technologies.pdf
A list of MDA tools can be found at this site: http://mda-directory.omg.org/vendor/list.htm
Examples of tools include: IBM Rational Software Development Platform, and Sparx Systems