Lecture 9 - MDA
Lecture 9 - MDA
Lecture 9 - MDA
Lecture no. 09
2
Outline
Model Driven Architecture
Model
Transformation
PIM to PSM
3
Model Driven Architecture
5
Improved Communication: The use of abstract, high-level
models allows business analysts, architects, and developers to
work from a common understanding of the system. Models are
easier to understand for non-technical stakeholders, making it
simpler to align business requirements with technical
implementation.
6
Technology changes quickly, and MDA was created to
make it easier to adjust software for new systems or
requirements without needing to rewrite a lot of code. In
MDA, the core business logic is kept separate from the
technical details of the system. This way, if the system or
technology needs to change, only the technical part is
updated, while the core business logic remains the
same.
7
Traditional software
development life
cycle
The software development
process as we know it today is
often driven by low-level design
and coding.
The documents and
corresponding diagrams created
in the first three phases rapidly
lose their value as soon as the
coding starts.
When a system is changed over
time, the distance between the
code and the text and diagrams
produced in the first three phases
becomes larger.
2
9
MDA Software
Development Life Cycle
Within MDA the software
development process is driven by
the activity of modeling your
software system
The developed artifacts are formal
models, i.e., models that can be
understood by computers. The
following models are at the core of
the MDA: -
PIM (Platform Independent
Models)
PSM (Platform Specific
Models)
Prog.Lang. Code
3
0
A Platform Independent Model (PIM) is a high-level design of the
software that focuses on the business logic and functionality, without
worrying about the technology or platform (like Windows, Mac, or Linux)
on which the software will run. It describes what the system should do,
but not how it will be implemented on a specific platform. Think of it like a
general plan for building a house—it shows what rooms you need, but it
doesn't yet specify if you're using bricks, wood, or cement.
A Platform Specific Model (PSM) takes the PIM and adds details about
how the software will be implemented on a specific platform or
technology. It focuses on how to make the software work on a particular
platform, such as choosing the right programming language, tools, or
frameworks needed for that platform. This is like taking the house plan
and deciding whether to use bricks or wood, depending on the location,
weather, or local building materials.
10
What Is a
Model?
A model is a description of (part
of) a system written in a well-
defined language.
A well-defined language is a
language with well-defined form
(syntax), and meaning
(semantics), which is suitable for
automated interpretation by a
computer.
Source code is also a kind of
textual PSM which can be
understood by a compiler
What is a
Transformation
A transformation is the automatic generation of a target model
from a source model, according to a transformation definition.
A transformation definition is a set of transformation rules that
together describe how a model in the source language can be
transformed into a model in the target language.
A transformation rule is a description of how one or more
constructs in the source language can be transformed into one
or more constructs in the target language.
Vision promulgated by
MDA
Take a domain model (PIM) off the shelf (e.g.,
inventory model developed in UML).
Subset the model as necessary.
Take models of the implementation technologies
(PSM) off the shelf
Describe (transformation) as how the models are to be
linked.
Generate the system.
Hence models and transformations are corporate
assets in MDA
The End.
14