Lecture 9 - MDA

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 14

1

SE-2102 Software Design


and Architecture

Lecture no. 09

2
Outline
Model Driven Architecture
 Model
 Transformation
 PIM to PSM

3
Model Driven Architecture

MDA Explained: The Model Driven Architecture™:


Practice and Promise
By
Anneke Kleppe, Jos Warmer, Wim Bast
MDA Software
 The concept of Model-Driven Architecture (MDA) was developed
by the Object Management Group (OMG), an international
standards organization, in the early 2000s.

 The primary purpose of MDA was to increase the efficiency and


portability of software development by creating an approach
where models, rather than code, are the central artifacts in the
development process.

 In traditional development, software is often tightly coupled to


specific platforms (e.g., operating systems, programming languages,
hardware). This makes it difficult to port the software across different
environments. MDA aimed to decouple software functionality from
specific platforms.

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.

Automation of Development: MDA introduced automated


transformation processes that can convert high-level models into
executable code, reducing manual coding efforts and the
potential for human error. This automation improves productivity
and ensures that models are always synchronized with the code.

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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy