Joe McCabe 9/7/08
MDA (Model Driven Architecture) Executive Summary
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 applications behavior. 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.
MDA BENEFITS
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 process.
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-
01.pdf
Supporters of MDA
Two large companies that support MDA are:
o o
IBM : http://www-01.ibm.com/software/rational/uml/mda/products.html Kabria Technologies: http://www.omg.org/mda/mda_files/Kabira_Technologies.pdf
MDA Tools
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