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

Model Driven Engineering

(MDE)

ITC-708
By
Dr. Mir Sajjad Hussain Talpur
Dated: 08-2-2021
Model Driven
Engineering
 Model-Driven Engineering (MDE) is
an engineering model.
 
 Model-driven engineering (MDE) is
an approach to software development
where models rather than programs
are the principal outputs of the
development process.

 MDE can improve productivity and


communication.

 MDE requires technologies and tools


2
Model Driven Engineering
 
 MDE is a set of well-defined
practices based on tools that use
at the same time metamodeling and
model transformations, to achieve
some automated goals in the
production, maintenance or
operation of software intensive
systems.

3
History of Model Driven Engineering

4
What is Metamodel?
  A metamodel is a
simplified ontology, i.e.
a set of concepts and
relations between these
concepts.
What is Model?
 A model is a graph
composed of elements
(nodes and edges). Each
such element corresponds
to a concept in the
metamodel.
 A model is the simplified
image of a system

5
Usage of model-driven engineering
 Model-driven engineering is still at an early stage of
development, and it is unclear whether or not it will have a
significant effect on software engineering practice.
 Pros
 Allows systems to be considered at higher levels of
abstraction
 Generating code automatically means that it is cheaper to
adapt systems to new platforms.
 Cons
 Models for abstraction and not necessarily right for
implementation.
 Savings from generating code may be outweighed by the
costs of developing translators for new platforms.

6
Model driven architecture

 Model-driven architecture (MDA) was the


precursor of more general model-driven
engineering
 MDA is a model-focused approach to software
design and implementation that uses a subset of
UML models to describe a system.
 Models at different levels of abstraction are
created. From a high-level, platform independent
model, it is possible, in principle, to generate a
working program without manual intervention.

7
Important Properties of Models
 
Abstraction from certain aspects of the real world
Ability to analyze properties of the system using
the model
Models are usually expressed in a modeling
language with a well-defined syntax and semantics
Many different forms of analysis, depending on the
model and the application of modeling
8
Types of model
 A computation independent model (CIM)
 These model the important domain abstractions used in a system.
CIMs are sometimes called domain models.
 A platform independent model (PIM)
 These model the operation of the system without reference to its
implementation. The PIM is usually described using UML models
that show the static system structure and how it responds to
external and internal events.
 Platform specific models (PSM)
 These are transformations of the platform-independent model with a
separate PSM for each application platform. In principle, there may
be layers of PSM, with each layer adding some platform-specific
detail.

Chapter 5 System modeling 9


Usage of Models in Software Engineering
 
 Models as description of the domain of the system to be built
 Model focuses on relevant aspects of the domain
Example: Class diagram of the domain
 
 Models as abstract representation of the system to be built
Model focuses on aspects that are relevant, leaves other
aspects open
Example: Component diagram specifies components of a system to
be built
 
 Models for documentation
 Abstraction of models helps to understand the system faster
Example: Class diagram of the key entities in a system are
explained in a document

10
11
12
What is System?

 A system is a set of elements in


interaction

Model Driven Engineering 13


14
Multiple levels of MDE

15
16
17

You might also like