Model-Driven
Architecture
What is MDA?
We are presently witnessing an important paradigm shift occurring
in the area of information system construction, namely from object
and component technology to model technology. The object technology
revolution has allowed the replacement of the more than twenty-years
old step-wise procedural decomposition paradigm by the more
fashionable object composition paradigm. Surprisingly this evolution
seems itself to be triggering today another even more radical
change, towards model transformation.
To understand the extent and the real meaning of the recent move
from object-based to model-based architectures of information
systems, it is very instructive to study the proposed new vision of
the OMG (Object Management Group) called Model Driven Architecture (MDA)
[1], [1]. The OMG has proposed a modeling language called UML
(Unified Modeling Language) that is a great industrial success, but
which applicability scope is not yet completely stabilized. In order
to allow the definition of other similar languages as well, the OMG
uses a general framework based on the MOF (Meta-Object Facility).
Both UML and the MOF are basic building blocks of the new MDA
architecture.
In this transition from code-oriented to model-oriented software
production techniques, a key role is now played by the concept of
meta-model. The MOF has emerged from the recognition that UML was
one possible meta-model in the information system landscape, but it
was not the only one. Facing the danger of having a variety of
different non-compatible meta-models emerging and independently
evolving (data warehouse, workflow, software process, etc.), there
was an urgent need for an integration framework for all meta-models
in the software development scene. The answer was thus to provide a
language for defining meta-models, i.e. a meta-meta-model together
with a general framework for their design, verification, evolution
and maintenance. In this context, the need for general model
transformation tools clearly appears. One of the main targets of MDA
is parametric generation from high-level models to variable
middleware platforms (CORBA, DotNet, EJB, Web, etc.).
Models are defined (constrained) by meta-models. A meta-model is
an explicit specification of a set of concepts and relations between
them. It is used as a consensual abstraction filter in a particular
modeling activity. A meta-model defines a description language for a
specific domain of interest (platform or business). For example UML
describes the artifacts of an object-oriented software system. Some
other meta-models may address other domains like process,
organization, test, quality of service, etc. They correspond to
highly specialized identified domains (platform or end-user) and
their number may be very important. They are defined as separate
components and many relationships exist between them. The long
awaited silver bullet for separation of aspects could be finally in
sight. Model engineering considers meta-models as first-class
entities with low granularity and high abstraction. This emerging
technology could be related and compared to knowledge engineering (ontologies),
meta-data management, formal grammars and XML semi-structured data
engineering.
Main References
- [1] Dsouza, D. Model-Driven Architecture and Integration:
Opportunities and Challenges Version 1.1, document available at www.kinetiuym.com,
February 2001.
- [2] Soley, R. and the OMG staff Model-Driven Architecture.
White paper, Draft 3.2, document available at www.omg.org,
November 2000.
Various Web pointers
A Q&A on the MDA may be found at: Model
Driven Architecture FAQ
Information on the MDA may be mainly found on the OMG site. Many
URLs are provided below.
More general info of various natures may also be found on the
following sites, including commercial announcements. Some of the
references just mention the MDA initiative. Some others discuss it
in more detail. The list is unsorted, evolutive and non-exhaustive:
Local pointers
Some of the work being done locally on subjects more or less
related to MDA are listed below:
- Jean Bézivin: "From Object Composition to Model
Transformation with the MDA" TOOLS USA, August 2001, Santa
Barbara.<pdf>
- Jean
Bézivin, Richard
Lemesle: "Ontology-based Layered Semantics for Precise
OA&D Modeling" ECOOP’97, p. 31-37.<pdf>
- Jean Bézivin, Richard Lemesle: "Some Initial
Considerations on the Layered Organization of Meta-models".<pdf>
- Jean Bézivin, Jean-Paul Bouchet, Erwan Breton: "Correspondances
structurelles entre produits et procédés" (in french). <html>
- Richard Lemesle: "Techniques de modélisation et de Méta-Modélisation"
PhD Thesis, Thèse soutenue le 26 octobre 2000 à l’Université
de Nantes.<pdf>
- Richard Lemesle: "Meta-modeling and modularity :
Comparison between MOF, CDIF & sNets formalisms".<pdf>
- Jean Bézivin, Olivier Gerbé: "New Trends in Applied
Model Engineering", submitted for publication.<pdf>
The following pointers may be particularly relevant:
OMG pointers
MDA Technology Briefing Presentations
Dr. Richard Mark Soley, Chairman and CEO, OMG:
OMG Model Driven Architecture
David S. Frankel, Chief Consulting Architect,
Advanced Technologies, IONA Technologies: MDA - Using Industry
Standards for Total Business Integration
Jishnu Mukerji, Senior Systems Architect,
Middleware Division: OMG, MDA and HP
Eric H. Castain, Senior Vice President, Business
Object Services: MDA - Wells Fargo
Whitepapers
Q&A
Discussion papers from OMG members
- "Model
Driven Architecture" by Desmond DSouza, Kinetium,
http://www.catalysis.org/publications/papers/2001-mda-reqs-desmond-6.pdf
Press Release
Corporate Background
Quote Sheet
Tools
This section will contain pointers on various software tools that
could be useful within the MDA framework
|