The Model-Driven Architecture (MDA)
defines an approach to modeling that separates the
specification of system functionality from the specification of its implementation
on a specific technology platform. In
short it defines a guidelines for structuring specifications expressed as
models. The MDA promotes an
approach where the same model specifying system functionality can be realized on
multiple platforms through auxiliary mapping standards, or through point
mappings to specific platforms. It
also supports the concept of explicitly relating the models of different
applications, enabling integration and interoperability and supporting system
evolution as platform technologies come and go.
Point-Counterpoint article in IEEE Software
(September/October 2003) (90k PDF)
As I have written in
Enterprise Architecture Techniques I'm concerned
about the viability of the MDA. My feeling is that
although the MDA is a very wonderful idea I suspect that
it will succeed in only a very small percentage of
organizations. Because of my writings questioning
the viability of the MDA vision I was invited to be
involved in a
Point-Counterpoint article in IEEE Software.
Interesting questions that I think need to be asked
regarding the MDA:
- What level of education and training is required
by developers to use MDA tools?
- What makes us think that the tool vendors will
honestly try to support model sharing standards in a
competitive marketplace? Particularly when past
experiences with other industry standards such as
CORBA have shown a willingness of vendors to announce
support for standards but in practice to implement the
standard in their own unique manner?
- What makes us think that the underlying modeling
the UML, is sufficient for the task at hand?
Perhaps we should define the modeling languages
which we use via
source, not via committee? I
suspect that we need to
extend the UML beyond object and component
- How will MDA-based models be tested?
- How will MDA-based models handle the inherent
complexities of legacy system integration?
- What evidence exists that MDA isn't simply a
repeat of the 1980s I-CASE vision?
- Is developing these complex models really more
productive than other options, such as agile
- How will configuration management of models work
in team-based environments?
- How could you possible develop a "platform
independent model (PIM)" when there isn't a standard
action semantic language (ASL) supported across the
toolsets of various vendors? The PIMs will be
dependent on the modeling tool.
- Have you ever had one of your business
stakeholders ask you to develop detailed,
sophisticated, platform independent models using a
precise industry-standard modeling language which
describes their business?
Are You Ready For the MDA?
Is the MDA vision simply a solution desperately
looking for a problem?
is Copyright 2003 IEEE. Reprinted from (all relevant publication
This material is posted
here with permission of the IEEE. Such permission of the
IEEE does not in any way imply IEEE endorsement of any
of my products or
or personal use of this material is permitted. However,
permission to reprint/republish this material for
advertising or promotional purposes or for creating new
collective works for resale or redistribution must be
obtained from the IEEE by sending a blank email message
You can also visit
http://computer.org/copyright.htm for more