Title: Model Driven Development And Model Driven Architecture
1Model Driven DevelopmentAnd Model Driven
Architecture
Juan Pablo Zamora Zapata
2Contenido
- Modelos en Disciplinas Ingenieriles
- Desarrollo de Software Tradicional
- Estandares de la OMG
- Arquitectura Guiada por Modelos MDA
3Outline
- Models in Engineering Disciplines
- Traditional approach to Software Development
- OMG Standards
- Model Driven Architecture (MDA) context
4Models in Engineering Disciplines
X
Building a bridge...
5How do we develop software today?
Analysis
Design
Implementation
6Model Driven Development
Analysis
Design
Implementation
Model Driven Development
7Software Models vs. other Engineering Models
Civil Engineering
8Software Models vs. other Engineering Models
Software Engineering
9Problems with...
?
10Software language standardization
- 10 Object-Oriented Modeling Languages developed
between 1970 and 1989 - 40 developed between 1989 and 1994
UML 0.9
UML 1.0
UML 1.1
11MDA Context
- Object Management Group
- International not-for-profit software consortium
that is setting standards in the area of
distributed object computing. - 450 members (Alcatel, ATT, Boeing, Borland,
Carleton University, Cisco Systems, Daymler
Chrysler, Ericcson, HP, IBM, Lockheed Martin,
Massachusetts Institute of Technology, Motorola,
Nokia, Sony Corporation, Sun Microsystems, Visa
International) - OMG Standards
- CORBA (Common Object Request Broker Architecture)
- UML (Unified Modeling Language)
- MOF (Meta Object Facility)
- MDA (Model Driven Architecture)
- QVT (Queries / Views / Transformation)
- etc.
12Meta Object Facility
M3
MOF
M2
M1
M0
13MDA Concepts
- System A system may include anything a
program, a single computer system, some
combination of parts of different systems, a
federation of systems, each under separate
control, people, an enterprise, a federation of
enterprises Much of the discussion focuses on
software within the system 1. - Model A model of a system is a description or
specification of that system and its environment
for some certain purpose. A model is often
presented as a combination of drawings and text.
The text may be in a modeling language or in a
natural language 1. - Architecture The architecture of a system is a
specification of the parts and connectors of the
system and the rules for the interactions of the
parts using the connectors1.
14MDA Concepts
- Platform A set of subsystems/technologies that
provide a coherent set of functionality through
interfaces and specified usage patterns that any
subsystem that depends on the platform can use
without concern for the details of how the
functionality provided by the platform is
implemented 1. - Platform Independence is a quality which a
model may exhibit. This is the quality that the
model does not call for the support of a platform
of a particular type. Like most qualities,
platform independence is a matter of degree 1.
15MDA Concepts
- Computation Independent Model (CIM) focuses on
the system and its environment the details of
the structure of the system are hidden or as yet
undetermined 1. - Platform Independent Model (PIM) A model of a
subsystem that contains no information specific
to the platform, or the technology that is used
to realize it 1. - Platform Specific Model (PSM) A model of a
subsystem that includes information about the
specific technology that is used in the
realization of it on a specific platform, and
hence possibly contains elements that are
specific to the platform 1.
16MDA Concepts
- Model Transformation Model transformation is
the process of converting one model to another
model of the same system.
figure from 1
17MDA Concepts
18MDA Metamodel
19Common Warehouse Metamodel (CWM) Example
20Library System Traditional Approach
- Library System 1
- .NET platform
- Library System 2
- J2EE platform
Model
Model
Model
Model
Model
Model
Model
Model
Implementation
Implementation
Library System
Library System
21Library System MDA Approach
Library CIM
Library PIM
Library PSM .NET
Library PSM CORBA
Library PSM J2EE
Library System .NET
Library System CORBA
Library System J2EE
22The missing piece...
Model Transformation
XML HWY
23XML and XSLT/XPath for model transformation...
PIM
XML
X
QVT (Queries/Views/Transformations)
XSLT/XPath
PSM
XML
24The missing piece...
XML HWY
QVT Rd
25QVT Standardization
26QVT Concepts
- Query A query takes as input a model, and
selects specific elements from that model 3. - Views a model that is derived from another
model. - Transformations umbrella term for relation and
mapping 3.
27QVT Concepts
- Mapping A mapping is a potentially directed
transformation implementation 3 - Relation Relations are multi-directional
declarative transformation specifications 3 - Domain Transformation are specified between a
number of domains. In the superstructure a domain
consists of a number of patterns and a condition
3
28Queries / Views / Transformations (QVT)
figure from 3
29Queries / Views / Transformations (QVT)
30QVT Standardization
YES
31References
- 1 OMG. ab/03-01-03 MDA Guide review draft
- 2 OMG. formal/02-04-03 (Meta Object Facility
(MOF), 1.4) - 3 OMG. ad/04-04-01 Joint revised submission
for the QVT RFP - 4 OMG. ormsc/02-01-01 Model Driven
Architecture (MDA) - 5 David S. Frankel. Applying MDA to Enterprise
Computing. 2003.
32Questions