Title: Model Driven Architecture
1Model Driven Architecture
- Secure Systems Group
- Patrick Morrison
- September 7, 2006
2MDA Definition
- Model Driven Architecture - The OMG approach for
specifying system as models separate from their
implementations, for specifying implementation,
and for transforming models into implementations.
This is based on a set of standards for
describing business and application logic in a
machine-readable, technology-independent way.
The standards include MOF, UML, OCL, QVT and XMI.
3MDA Marketing
- These (MDA) specifications will lead the
industry towards interoperable, reusable,
portable software components and data models
based on standard models. - MDA Guide Version
1.01, www.omg.org/docs/03-06-01.pdf - Model-driven engineering technologies offer a
promising approach to address the inability of
third-generation languages to alleviate the
complexity of platforms and express domain
concepts effectively. - Douglas C. Schmidt, in
IEEE Computer, February 2006
4MDA A specialization of MDE
5MDE Concepts
- Models and Meta-Models
- Domain Specific Languages
- Transformations
6Models and Meta-Models
- Models give a high-level, problem-oriented view ,
rather than a low-level, solution-oriented view
of systems - Meta-Models are used to describe Models in a
precise, machine-translatable way
7Domain Specific Language (DSL)
- (Wikipedia) A programming language designed to
be useful for a specific set of tasks. This is in
contrast to general-purpose programming language
(general-purpose language, GPL), for example Java
or C, or general-purpose modeling languages like
UML. Examples of DSLs include spreadsheet macros,
YACC for parsing and compilers, Csound, a
language used to create audio files, and
GraphViz, a language used to define directed
graphs, and create a visual representation of
that graph. - DSLs have also been called by various names
- Little languages
- Macros (in reference to the macro feature found
in many applications) - Application languages
- Very high level languages
8MDA Definitions
- MDA Model-driven architecture, a platform for
abstracting system details in a machine-readable
format 1 - Models and Meta-models
- CIM Computation Independent Model
- Domain Model business-level view
- PIM Platform Independent Model
- PSM Platform Specific Model
- UML-based (defined by MOF)
- Machine-readable (XMI)
- Documented standards
9MDA Definitions (2)
- UML Unified Modeling Language
- OCL Object Constrain Language
- MOF Meta Object Facility
- XMI - XML Metadata Interchange
- QVT Query, View, Transformation
10MOF A DSL for DSL's
- MOF can be viewed as a domain language for
describing language - OMG has used the MOF to define UML, a domain
language for graphical modeling of systems - This gives UML a precise, machine-readable and
translatable definition, for which tool support
can be provided - The intent of MOF is to allow the precise
definition of DSL's by its users
11The MDA (Meta-)Model Hierarchy
12From Models... to Models
- Query, View, Transformation (QVT)
- Takes a Model and a Mapping as inputs, produces a
lower level model as output - Example Given a CIM and a mapping to a PIM
design model, a transformation produces a PIM
design model for that CIM
13From Models to Artifacts (Code)
- With sufficiently detailed PSMs and Platform
models, it is possible to generate code and
configuration files for environments such as J2EE
and .NET - The OMG MDA specification doesn't have anything
specific on this topic - Other MDE systems use a variety of technologies,
usually called 'model compilers' or 'generators'
14XMI XML Metadata Interchange
- (Wikipedia) The XML Metadata Interchange (XMI) is
an OMG standard for exchanging metadata
information via Extensible Markup Language (XML).
It can be used for any metadata whose metamodel
can be expressed in Meta-Object Facility (MOF).
The most common use of XMI is as an interchange
format for UML models, although it can also be
used for serialization of models of other
languages (metamodels).
15References
1 www.omg.org/mda 2 MDA Guide 1.0.1, 3
Meta Object Facility Specification,
http//www.omg.org/docs/formal/02-04-03.pdf 5
Model-Driven Engineering, Douglas C. Schmidt,
IEEE Computer, February 2006 6
http//www.voelter.de/data/articles/cgn.pdf
16Useful Links
- www.planetmde.org - site collecting links to
MDE-related projects, people, books, papers,
sites - http//www.se-radio.net/ - Podcasts on software
engineering, including MDSD