SlideShare a Scribd company logo
1 of 75
Model Driven Engineering
MDE Principles Ludovico Iovino
ludovico.iovino@gssi.infn.it
ludovico.iovino@univaq.it
Roadmap
What is a model ?
What is Model Driven Engineering ?
MDSE Application
Metamodeling, modeling and transform
01
02
03
04
The human mind continuously re-works reality by
applying cognitive processes
Abstraction
Important notions of abstraction
What is a model ?
Capability of finding the commonality in many
different observations
generalize specific features of real objects
classify the objects into coherent clusters
aggregate objects into more complex ones
We will see…
Abstraction and human mind
Human mind
Re-works reality
Applying cognitive pro
2 different realities
The Brainstorming
The Great Thinking
Do you know what a model is about ?
Example
Let us consider a system in reality
Model
for our system
Let us consider a now a
Model
for our system
Let us consider a now a
What about asking a child to
draw a model for our system ?
What about asking a child to
draw a model for our system ?
What about asking a child to
draw a model for our system ?
What is a model ?
A model reflects author’s background
A model reflects author’s background
and whishes
Ludovico Iovino, Model Driven Engineering– MDE principles
What is a model?
- A model represents reality for the given purpose;
- The model is an abstraction of reality in the sense that it cannot
represent all aspects of reality
Ludovico Iovino, Model Driven Engineering– MDE principles
What is a model?
- A model represents reality for the given purpose;
- The model is an abstraction of reality in the sense that it cannot
represent all aspects of reality
- Modeling, in the broadest sense, is the cost-effective use of
something in place of something else for some cognitive purpose.
Ludovico Iovino, Model Driven Engineering– MDE principles
What is a model?
- A model represents reality for the given purpose;
- The model is an abstraction of reality in the sense that it cannot
represent all aspects of reality
- Modeling, in the broadest sense, is the cost-effective use of
something in place of something else for some cognitive purpose.
- It allows us to use something that is simpler, safer or cheaper than
reality instead of reality for some purpose
This allows us to deal with the world in a simplified
manner, avoiding the complexity, danger and
irreversibility of reality
Simpler, safer or cheaper than reality
Ludovico Iovino, Model Driven Engineering– MDE principles
What is a model?
- A model represents reality for the given purpose;
- The model is an abstraction of reality in the sense that it cannot
represent all aspects of reality
- Modeling, in the broadest sense, is the cost-effective use of
something in place of something else for some cognitive purpose.
- It allows us to use something that is simpler, safer or cheaper than
reality (instead of reality) for some purpose
- This allows us to deal with the world in a simplified manner, avoiding
the complexity, danger and irreversibility of reality
Ludovico Iovino, Model Driven Engineering– MDE principles
What is a model?
- A model represents reality for the given purpose;
- The model is an abstraction of reality in the sense that it cannot
represent all aspects of reality
- Modeling, in the broadest sense, is the cost-effective use of
something in place of something else for some cognitive purpose.
- It allows us to use something that is simpler, safer or cheaper than
reality instead of reality for some purpose
- This allows us to deal with the world in a simplified manner, avoiding
the complexity, danger and irreversibility of reality
The world boundaries directly affect the assumptions on the model semantics
1 2
1 2
What does it mean?
1 2
What does it mean? «2» comes after «1»
«2» depends on «1»
«1» specializes/refines «2»
«2» listens to «1»
«2» contains «1»
etc
1 2
- What does it mean?
- How many different meanings are you able to attach to it?
Ludovico Iovino, Model Driven Engineering– MDE principles
So…what is a model?
Ludovico Iovino, Model Driven Engineering– MDE principles
So…what is a model?
- A simplified or partial representation of reality, defined in order to
accomplish a task or to reach an agreement
Ludovico Iovino, Model Driven Engineering– MDE principles
So…what is a model?
- A simplified or partial representation of reality, defined in order to
accomplish a task or to reach an agreement
ModelrepresentsSystem
Mapping Feature A model is based on an original (=system)
Ludovico Iovino, Model Driven Engineering– MDE principles
So…what is a model?
- A simplified or partial representation of reality, defined in order to
accomplish a task or to reach an agreement
ModelrepresentsSystem
Mapping Feature A model is based on an original (=system)
Reduction Feature A model only reflects a (relevant) selection of the
original‘s properties
Ludovico Iovino, Model Driven Engineering– MDE principles
So…what is a model?
- A simplified or partial representation of reality, defined in order to
accomplish a task or to reach an agreement
ModelrepresentsSystem
Mapping Feature A model is based on an original (=system)
Reduction Feature A model only reflects a (relevant) selection of the
original‘s properties
Pragmatic Feature A model needs to be usable in place of an original
with respect to some purpose
Motivation
What is Model Driven Engineering
Motivation
What is Model Driven Engineering
Shifting focus from code centric techniques to
Motivation
What is Model Driven Engineering
Shitfting focus from code centric techniques to M
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Model as the central artifact of software development
Model
Rapid prototyping
Static analysis
Code generation
Automated testing
Refactoring/
Transformation
Documentation
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Quality problems in software development
[Slide by Bernhard Rumpe]
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Quality problems in software development
[Slide by Bernhard Rumpe]
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Quality problems in software development
[Slide by Bernhard Rumpe]
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Quality problems in software development
[Slide by Bernhard Rumpe]
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
- Traditional usage of models in software development
- Communication with customers and users (requirement specification,
prototypes)
- Support for software design, capturing of the intention
- Task specification for programming
- Code visualization
[Slide by Bernhard Rumpe]
Ludovico Iovino, Model Driven Engineering– MDE principles
Motivation
Models as drafts
- Communication of ideas and alternatives
- Objective: modeling per se
Models as guidelines
- Design decisions are documented
- Objective: instructions for implementation
Models as programs
- Applications are generated automatically
- Objective: models are source code and vice versa
[Slide by Bernhard Rumpe]
t
Ludovico Iovino, Model Driven Engineering– MDE principles
MDSE Concepts
- Model Driven Software Engineering (MDSE) concepts
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Driven Software Engineering (MDSE) concepts
Abstraction from specific realization technologies
- Requires modeling languages, which do not hold specific concepts of realization technologies (e.g., Java
EJB)
- Improved portability of software to new/changing technologies – model once, build everywhere
- Interoperability between different technologies can be automated (so called Technology Bridges)
Automated code generation from abstract models
- e.g., generation of Java-APIs, XML Schemas, etc. from UML
- Requires expressive and precise models
- Increased productivity and efficiency (models stay up-to-date)
Separate development of application and infrastructure
- Separation of application-code and infrastructure-code (e.g. Application Framework) increases
reusability
- Flexible development cycles as well as different development roles possible
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Driven Software Engineering (MDSE) Equation
Models
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Driven Software Engineering (MDSE) Equation
+Models Transformations
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Driven Software Engineering (MDSE) Equation
+Models Transformations Software=
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Driven Software Engineering (MDSE) Equation
+Models Transformations Software=
Ludovico Iovino, Model Driven Engineering– MDE principles
The MD* Jungle of Acronyms
- Model-Driven Development (MDD) is a development paradigm that uses
models as the primary artifact of the development process.
- Model-driven Architecture (MDA) is the particular vision of MDD proposed by
the Object Management Group (OMG)
- Model-Driven Engineering (MDE) is a superset of MDD because it goes beyond
of the pure development
- Model-Based Engineering (or “model-based development”) (MBE) is a softer
version of MDE, where models do not “drive” the process
Ludovico Iovino, Model Driven Engineering– MDE principles
Target of MDSE
- The Problem Domain is defined as the field or area of expertise that
needs to be examined to solve a problem.
- The Domain Model is the conceptual model of the problem domain
(entities, relations, roles, constraint)
- Technical Spaces represent specific working contexts for the
specification, implementation, and deployment of applications
(decide the storage formats)
Ludovico Iovino, Model Driven Engineering– MDE principles
Target of MDSE
- The Problem Domain is defined as the field or area of expertise that
needs to be examined to solve a problem.
- The Domain Model is the conceptual model of the problem domain
(entities, relations, roles, constraint)
- Technical Spaces represent specific working contexts for the
specification, implementation, and deployment of applications
(decide the storage formats)
Ludovico Iovino, Model Driven Engineering– MDE principles
Target of MDSE
- The Problem Domain is defined as the field or area of expertise that
needs to be examined to solve a problem.
- The Domain Model is the conceptual model of the problem domain
(entities, relations, roles, constraint)
- Technical Spaces represent specific working contexts for the
specification, implementation, and deployment of applications
(decide the storage formats)
Ludovico Iovino, Model Driven Engineering– MDE principles
Modeling languages
- Domain-Specific Languages (DSLs): languages that are designed
specifically for a certain domain or context
- DSLs have been largely used in computer science. Examples: HTML,
Logo, VHDL, SQL
- General Purpose Modeling Languages (GPMLs, GMLs, or GPLs):
languages that can be applied to any sector or domain for (software)
modeling purposes
- The typical examples are: UML, Petri-nets, or state machines
Ludovico Iovino, Model Driven Engineering– MDE principles
Metamodeling
- To represent the models themselves as “instances” of some more
abstract models.
- Metamodel = yet another abstraction, highlighting properties of the
model itself
- Modelware is the MDSE paradigm not so different from
grammarware
Ludovico Iovino, Model Driven Engineering– MDE principles
Metamodeling
- To represent the models themselves as “instances” of some more
abstract models.
- Metamodel = yet another abstraction, highlighting properties of the
model itself
- The relationship between models and metamodel is called
conformance (c2)
m
MM
Conform to (c2)
Ludovico Iovino, Model Driven Engineering– MDE principles
Metamodeling
What is a model
Transformation?
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Transformation
- Transformations are defined at metamodel level but applied at model
level
- MDSE provides appropriate languages for defining model transformation
rules
- Rules can be written manually from scratch by a developer, or can be
defined as a refined specification of an existing one.
- Alternatively, transformations themselves can be produced automatically
out of some higher level mapping rules between models
- defining a mapping between elements of a model to elements to another one
(model mapping or model weaving)
- automating the generation of the actual transformation rules through a system that
receives as input the two model definitions and the mapping
- Transformations themselves can be seen as models!
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Transformation
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Transformation
- Software modernization
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Transformation
- Software modernization
Exomorphic Transformation
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Transformation
- Software modernization
Exomorphic Transformation
Transforms this view into another view
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Classification
- A very simple way of classifying the modeling languages and the
respective models is based on the level of abstraction at which the
modeling is performed
- Describe requirements and needs at very abstract level without details to the
implementation
- Define the behavior of the system in terms of stored data w/o technological
details
- Define all the technological aspects in detail
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Classification
- Static models: Focus on the static aspects of the system in terms of
managed data and of structural shape and architecture of the
system.
- Dynamic models: Emphasize the dynamic behavior of the system by
showing the execution
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Classification
- Static models: Focus on the static aspects of the system in terms of
managed data and of structural shape and architecture of the
system.
- Dynamic models: Emphasize the dynamic behavior of the system by
showing the execution
Ludovico Iovino, Model Driven Engineering– MDE principles
Model Classification
- Static models: Focus on the static aspects of the system in terms of
managed data and of structural shape and architecture of the
system.
- Dynamic models: Emphasize the dynamic behavior of the system by
showing the execution
Ludovico Iovino, Model Driven Engineering– MDE principles
MDSE adoption in Industry
- Some studies done in the past 5 years show that modeling is not
extensively adopted among practitioners
- New developments in the last few years in terms of new technologies
and the release of standard tools have changed the landscape
- As Steve Mellor like to say “modeling and MDE will be commonplace
in 3 years time”
Ludovico Iovino, Model Driven Engineering– MDE principles
MDSE adoption in Industry
- Some studies done in the past 5 years show that modeling is not
extensively adopted among practitioners
- New developments in the last few years in terms of new technologies
and the release of standard tools have changed the landscape
- As Steve Mellor like to say “modeling and MDE will be commonplace
in 3 years time [since 1985]
Ludovico Iovino, Model Driven Engineering– MDE principles
MDSE adoption in Industry
- Experts think that the biggest challenges faced by companies
adopting MDE approaches are not much on the technical side…
Ludovico Iovino, Model Driven Engineering– MDE principles
MDSE adoption in Industry
- Experts think that the biggest challenges faced by companies
adopting MDE approaches are not much on the technical side…
- But much more on the human factor side:
“Dealing with people’s habits and resistance to change”
“Accepting and adopting standards”
“Tool availability, business lines ,…”
“Impatience of getting to the results”
Ludovico Iovino, Model Driven Engineering– MDE principles
Tool support
- Many people assume that drawing tools and modeling tools are two
interchangeable concepts
Ludovico Iovino, Model Driven Engineering– MDE principles
Tool support
- Many people assume that drawing tools and modeling tools are two
interchangeable concepts … this is far from true
- Only some tools are drawing and modeling tools at the same time
- Some modeling tools use a concrete textual syntax for specifying
models and thus there is no support for drawing in them
Many drawing tools are not modeling tools. A drawing tool can be considered a
modeling tool if the tool “understands” the drawings
Tool support
Many drawing tools are not modeling tools. A drawing tool can be considered a
modeling tool if the tool “understands” the drawings
Tool support
Check the correctnes
Have a meaning
Can be exported
Can be processed
…
01 mde principles

More Related Content

What's hot

Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsJordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Jordi Cabot
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesMarco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Jordi Cabot
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Jordi Cabot
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systemsMarco Brambilla
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortJordi Cabot
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)siouxhotornot
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010fmadiot
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Jordi Cabot
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Marco Brambilla
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursJordi Cabot
 
Towards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLTowards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLJordi Cabot
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and WebMarco Parenzan
 
W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011MDDAY11
 

What's hot (20)

Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing modelsModel-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
 
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
 
Introducing MDSD
Introducing MDSDIntroducing MDSD
Introducing MDSD
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
 
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
 
Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?Is there a future for Model Transformation Languages?
Is there a future for Model Transformation Languages?
 
Model driven development and code generation of software systems
Model driven development and code generation of software systemsModel driven development and code generation of software systems
Model driven development and code generation of software systems
 
How to sustain a tool building community-driven effort
How to sustain a tool building community-driven effortHow to sustain a tool building community-driven effort
How to sustain a tool building community-driven effort
 
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
Sioux Hot-or-Not: Domain Driven Design (Edwin Van Dillen)
 
MoDisco EclipseCon2010
MoDisco EclipseCon2010MoDisco EclipseCon2010
MoDisco EclipseCon2010
 
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
All Researchers Should Become Entrepreneurs
All Researchers Should Become EntrepreneursAll Researchers Should Become Entrepreneurs
All Researchers Should Become Entrepreneurs
 
Introduction to MDA
Introduction to MDAIntroduction to MDA
Introduction to MDA
 
Towards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQLTowards a UML and IFML mapping to GraphQL
Towards a UML and IFML mapping to GraphQL
 
Ahmad Hammoud Resume
Ahmad Hammoud ResumeAhmad Hammoud Resume
Ahmad Hammoud Resume
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web
 
W4 ucl@md day2011
W4 ucl@md day2011W4 ucl@md day2011
W4 ucl@md day2011
 
CG2010 Introducing MDSD
CG2010 Introducing MDSDCG2010 Introducing MDSD
CG2010 Introducing MDSD
 

Similar to 01 mde principles

Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)Jordi Cabot
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE Jordi Cabot
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxRavindranath67
 
Adaptive Products: Designing for evolution through use
Adaptive Products: Designing for evolution through useAdaptive Products: Designing for evolution through use
Adaptive Products: Designing for evolution through useSimon King
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineeringIvano Malavolta
 
Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)stanbridge
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineJordi Cabot
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modelingMajong DevJfu
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringPramod Parajuli
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseKenan Sevindik
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayGary Pedretti
 
1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptxKALPANAC20
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design PrinciplesSteve Zhang
 
ELMSLN @ OpenEd 14
ELMSLN @ OpenEd 14ELMSLN @ OpenEd 14
ELMSLN @ OpenEd 14btopro
 

Similar to 01 mde principles (20)

Object Oriented System Design
Object Oriented System DesignObject Oriented System Design
Object Oriented System Design
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE
 
Unit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptxUnit-1 OOAD Introduction.pptx
Unit-1 OOAD Introduction.pptx
 
010821+presentation+oti.ppt
010821+presentation+oti.ppt010821+presentation+oti.ppt
010821+presentation+oti.ppt
 
Adaptive Products: Designing for evolution through use
Adaptive Products: Designing for evolution through useAdaptive Products: Designing for evolution through use
Adaptive Products: Designing for evolution through use
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 
Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)Cs 1023 lec 7 architecture (week 1)
Cs 1023 lec 7 architecture (week 1)
 
Lo 04
Lo 04Lo 04
Lo 04
 
Modeling should be an independent scientific discipline
Modeling should be an independent scientific disciplineModeling should be an independent scientific discipline
Modeling should be an independent scientific discipline
 
09 introduction to_modeling
09 introduction to_modeling09 introduction to_modeling
09 introduction to_modeling
 
Project Guidelines
Project GuidelinesProject Guidelines
Project Guidelines
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Contemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With EnterpriseContemporary Software Engineering Practices Together With Enterprise
Contemporary Software Engineering Practices Together With Enterprise
 
Agile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we TodayAgile Architecture and Modeling - Where are we Today
Agile Architecture and Modeling - Where are we Today
 
1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx1-PE-I-OOAD.pptx
1-PE-I-OOAD.pptx
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
The OO Design Principles
The OO Design PrinciplesThe OO Design Principles
The OO Design Principles
 
ELMSLN @ OpenEd 14
ELMSLN @ OpenEd 14ELMSLN @ OpenEd 14
ELMSLN @ OpenEd 14
 

Recently uploaded

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdfSuman Jyoti
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spaintimesproduction05
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSrknatarajan
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 

Recently uploaded (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Vivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design SpainVivazz, Mieres Social Housing Design Spain
Vivazz, Mieres Social Housing Design Spain
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 

01 mde principles

  • 1. Model Driven Engineering MDE Principles Ludovico Iovino ludovico.iovino@gssi.infn.it ludovico.iovino@univaq.it
  • 2. Roadmap What is a model ? What is Model Driven Engineering ? MDSE Application Metamodeling, modeling and transform 01 02 03 04
  • 3. The human mind continuously re-works reality by applying cognitive processes Abstraction Important notions of abstraction What is a model ? Capability of finding the commonality in many different observations generalize specific features of real objects classify the objects into coherent clusters aggregate objects into more complex ones We will see… Abstraction and human mind
  • 4. Human mind Re-works reality Applying cognitive pro 2 different realities The Brainstorming The Great Thinking
  • 5. Do you know what a model is about ?
  • 6. Example Let us consider a system in reality
  • 7. Model for our system Let us consider a now a
  • 8. Model for our system Let us consider a now a
  • 9. What about asking a child to draw a model for our system ?
  • 10. What about asking a child to draw a model for our system ?
  • 11. What about asking a child to draw a model for our system ?
  • 12. What is a model ?
  • 13. A model reflects author’s background
  • 14. A model reflects author’s background and whishes
  • 15.
  • 16. Ludovico Iovino, Model Driven Engineering– MDE principles What is a model? - A model represents reality for the given purpose; - The model is an abstraction of reality in the sense that it cannot represent all aspects of reality
  • 17. Ludovico Iovino, Model Driven Engineering– MDE principles What is a model? - A model represents reality for the given purpose; - The model is an abstraction of reality in the sense that it cannot represent all aspects of reality - Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose.
  • 18. Ludovico Iovino, Model Driven Engineering– MDE principles What is a model? - A model represents reality for the given purpose; - The model is an abstraction of reality in the sense that it cannot represent all aspects of reality - Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. - It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose
  • 19. This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality Simpler, safer or cheaper than reality
  • 20. Ludovico Iovino, Model Driven Engineering– MDE principles What is a model? - A model represents reality for the given purpose; - The model is an abstraction of reality in the sense that it cannot represent all aspects of reality - Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. - It allows us to use something that is simpler, safer or cheaper than reality (instead of reality) for some purpose - This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality
  • 21. Ludovico Iovino, Model Driven Engineering– MDE principles What is a model? - A model represents reality for the given purpose; - The model is an abstraction of reality in the sense that it cannot represent all aspects of reality - Modeling, in the broadest sense, is the cost-effective use of something in place of something else for some cognitive purpose. - It allows us to use something that is simpler, safer or cheaper than reality instead of reality for some purpose - This allows us to deal with the world in a simplified manner, avoiding the complexity, danger and irreversibility of reality
  • 22. The world boundaries directly affect the assumptions on the model semantics
  • 23. 1 2
  • 24. 1 2 What does it mean?
  • 25. 1 2 What does it mean? «2» comes after «1» «2» depends on «1» «1» specializes/refines «2» «2» listens to «1» «2» contains «1» etc
  • 26. 1 2 - What does it mean? - How many different meanings are you able to attach to it?
  • 27.
  • 28. Ludovico Iovino, Model Driven Engineering– MDE principles So…what is a model?
  • 29. Ludovico Iovino, Model Driven Engineering– MDE principles So…what is a model? - A simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement
  • 30. Ludovico Iovino, Model Driven Engineering– MDE principles So…what is a model? - A simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement ModelrepresentsSystem Mapping Feature A model is based on an original (=system)
  • 31. Ludovico Iovino, Model Driven Engineering– MDE principles So…what is a model? - A simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement ModelrepresentsSystem Mapping Feature A model is based on an original (=system) Reduction Feature A model only reflects a (relevant) selection of the original‘s properties
  • 32. Ludovico Iovino, Model Driven Engineering– MDE principles So…what is a model? - A simplified or partial representation of reality, defined in order to accomplish a task or to reach an agreement ModelrepresentsSystem Mapping Feature A model is based on an original (=system) Reduction Feature A model only reflects a (relevant) selection of the original‘s properties Pragmatic Feature A model needs to be usable in place of an original with respect to some purpose
  • 33. Motivation What is Model Driven Engineering
  • 34. Motivation What is Model Driven Engineering Shifting focus from code centric techniques to
  • 35. Motivation What is Model Driven Engineering Shitfting focus from code centric techniques to M
  • 36. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Model as the central artifact of software development Model Rapid prototyping Static analysis Code generation Automated testing Refactoring/ Transformation Documentation
  • 37. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Quality problems in software development [Slide by Bernhard Rumpe]
  • 38. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Quality problems in software development [Slide by Bernhard Rumpe]
  • 39. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Quality problems in software development [Slide by Bernhard Rumpe]
  • 40. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Quality problems in software development [Slide by Bernhard Rumpe]
  • 41. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation - Traditional usage of models in software development - Communication with customers and users (requirement specification, prototypes) - Support for software design, capturing of the intention - Task specification for programming - Code visualization [Slide by Bernhard Rumpe]
  • 42. Ludovico Iovino, Model Driven Engineering– MDE principles Motivation Models as drafts - Communication of ideas and alternatives - Objective: modeling per se Models as guidelines - Design decisions are documented - Objective: instructions for implementation Models as programs - Applications are generated automatically - Objective: models are source code and vice versa [Slide by Bernhard Rumpe] t
  • 43. Ludovico Iovino, Model Driven Engineering– MDE principles MDSE Concepts - Model Driven Software Engineering (MDSE) concepts
  • 44. Ludovico Iovino, Model Driven Engineering– MDE principles Model Driven Software Engineering (MDSE) concepts Abstraction from specific realization technologies - Requires modeling languages, which do not hold specific concepts of realization technologies (e.g., Java EJB) - Improved portability of software to new/changing technologies – model once, build everywhere - Interoperability between different technologies can be automated (so called Technology Bridges) Automated code generation from abstract models - e.g., generation of Java-APIs, XML Schemas, etc. from UML - Requires expressive and precise models - Increased productivity and efficiency (models stay up-to-date) Separate development of application and infrastructure - Separation of application-code and infrastructure-code (e.g. Application Framework) increases reusability - Flexible development cycles as well as different development roles possible
  • 45. Ludovico Iovino, Model Driven Engineering– MDE principles Model Driven Software Engineering (MDSE) Equation Models
  • 46. Ludovico Iovino, Model Driven Engineering– MDE principles Model Driven Software Engineering (MDSE) Equation +Models Transformations
  • 47. Ludovico Iovino, Model Driven Engineering– MDE principles Model Driven Software Engineering (MDSE) Equation +Models Transformations Software=
  • 48. Ludovico Iovino, Model Driven Engineering– MDE principles Model Driven Software Engineering (MDSE) Equation +Models Transformations Software=
  • 49. Ludovico Iovino, Model Driven Engineering– MDE principles The MD* Jungle of Acronyms - Model-Driven Development (MDD) is a development paradigm that uses models as the primary artifact of the development process. - Model-driven Architecture (MDA) is the particular vision of MDD proposed by the Object Management Group (OMG) - Model-Driven Engineering (MDE) is a superset of MDD because it goes beyond of the pure development - Model-Based Engineering (or “model-based development”) (MBE) is a softer version of MDE, where models do not “drive” the process
  • 50. Ludovico Iovino, Model Driven Engineering– MDE principles Target of MDSE - The Problem Domain is defined as the field or area of expertise that needs to be examined to solve a problem. - The Domain Model is the conceptual model of the problem domain (entities, relations, roles, constraint) - Technical Spaces represent specific working contexts for the specification, implementation, and deployment of applications (decide the storage formats)
  • 51. Ludovico Iovino, Model Driven Engineering– MDE principles Target of MDSE - The Problem Domain is defined as the field or area of expertise that needs to be examined to solve a problem. - The Domain Model is the conceptual model of the problem domain (entities, relations, roles, constraint) - Technical Spaces represent specific working contexts for the specification, implementation, and deployment of applications (decide the storage formats)
  • 52. Ludovico Iovino, Model Driven Engineering– MDE principles Target of MDSE - The Problem Domain is defined as the field or area of expertise that needs to be examined to solve a problem. - The Domain Model is the conceptual model of the problem domain (entities, relations, roles, constraint) - Technical Spaces represent specific working contexts for the specification, implementation, and deployment of applications (decide the storage formats)
  • 53. Ludovico Iovino, Model Driven Engineering– MDE principles Modeling languages - Domain-Specific Languages (DSLs): languages that are designed specifically for a certain domain or context - DSLs have been largely used in computer science. Examples: HTML, Logo, VHDL, SQL - General Purpose Modeling Languages (GPMLs, GMLs, or GPLs): languages that can be applied to any sector or domain for (software) modeling purposes - The typical examples are: UML, Petri-nets, or state machines
  • 54. Ludovico Iovino, Model Driven Engineering– MDE principles Metamodeling - To represent the models themselves as “instances” of some more abstract models. - Metamodel = yet another abstraction, highlighting properties of the model itself - Modelware is the MDSE paradigm not so different from grammarware
  • 55. Ludovico Iovino, Model Driven Engineering– MDE principles Metamodeling - To represent the models themselves as “instances” of some more abstract models. - Metamodel = yet another abstraction, highlighting properties of the model itself - The relationship between models and metamodel is called conformance (c2) m MM Conform to (c2)
  • 56. Ludovico Iovino, Model Driven Engineering– MDE principles Metamodeling
  • 57. What is a model Transformation?
  • 58. Ludovico Iovino, Model Driven Engineering– MDE principles Model Transformation - Transformations are defined at metamodel level but applied at model level - MDSE provides appropriate languages for defining model transformation rules - Rules can be written manually from scratch by a developer, or can be defined as a refined specification of an existing one. - Alternatively, transformations themselves can be produced automatically out of some higher level mapping rules between models - defining a mapping between elements of a model to elements to another one (model mapping or model weaving) - automating the generation of the actual transformation rules through a system that receives as input the two model definitions and the mapping - Transformations themselves can be seen as models!
  • 59. Ludovico Iovino, Model Driven Engineering– MDE principles Model Transformation
  • 60. Ludovico Iovino, Model Driven Engineering– MDE principles Model Transformation - Software modernization
  • 61. Ludovico Iovino, Model Driven Engineering– MDE principles Model Transformation - Software modernization Exomorphic Transformation
  • 62. Ludovico Iovino, Model Driven Engineering– MDE principles Model Transformation - Software modernization Exomorphic Transformation Transforms this view into another view
  • 63. Ludovico Iovino, Model Driven Engineering– MDE principles Model Classification - A very simple way of classifying the modeling languages and the respective models is based on the level of abstraction at which the modeling is performed - Describe requirements and needs at very abstract level without details to the implementation - Define the behavior of the system in terms of stored data w/o technological details - Define all the technological aspects in detail
  • 64. Ludovico Iovino, Model Driven Engineering– MDE principles Model Classification - Static models: Focus on the static aspects of the system in terms of managed data and of structural shape and architecture of the system. - Dynamic models: Emphasize the dynamic behavior of the system by showing the execution
  • 65. Ludovico Iovino, Model Driven Engineering– MDE principles Model Classification - Static models: Focus on the static aspects of the system in terms of managed data and of structural shape and architecture of the system. - Dynamic models: Emphasize the dynamic behavior of the system by showing the execution
  • 66. Ludovico Iovino, Model Driven Engineering– MDE principles Model Classification - Static models: Focus on the static aspects of the system in terms of managed data and of structural shape and architecture of the system. - Dynamic models: Emphasize the dynamic behavior of the system by showing the execution
  • 67. Ludovico Iovino, Model Driven Engineering– MDE principles MDSE adoption in Industry - Some studies done in the past 5 years show that modeling is not extensively adopted among practitioners - New developments in the last few years in terms of new technologies and the release of standard tools have changed the landscape - As Steve Mellor like to say “modeling and MDE will be commonplace in 3 years time”
  • 68. Ludovico Iovino, Model Driven Engineering– MDE principles MDSE adoption in Industry - Some studies done in the past 5 years show that modeling is not extensively adopted among practitioners - New developments in the last few years in terms of new technologies and the release of standard tools have changed the landscape - As Steve Mellor like to say “modeling and MDE will be commonplace in 3 years time [since 1985]
  • 69. Ludovico Iovino, Model Driven Engineering– MDE principles MDSE adoption in Industry - Experts think that the biggest challenges faced by companies adopting MDE approaches are not much on the technical side…
  • 70. Ludovico Iovino, Model Driven Engineering– MDE principles MDSE adoption in Industry - Experts think that the biggest challenges faced by companies adopting MDE approaches are not much on the technical side… - But much more on the human factor side: “Dealing with people’s habits and resistance to change” “Accepting and adopting standards” “Tool availability, business lines ,…” “Impatience of getting to the results”
  • 71. Ludovico Iovino, Model Driven Engineering– MDE principles Tool support - Many people assume that drawing tools and modeling tools are two interchangeable concepts
  • 72. Ludovico Iovino, Model Driven Engineering– MDE principles Tool support - Many people assume that drawing tools and modeling tools are two interchangeable concepts … this is far from true - Only some tools are drawing and modeling tools at the same time - Some modeling tools use a concrete textual syntax for specifying models and thus there is no support for drawing in them
  • 73. Many drawing tools are not modeling tools. A drawing tool can be considered a modeling tool if the tool “understands” the drawings Tool support
  • 74. Many drawing tools are not modeling tools. A drawing tool can be considered a modeling tool if the tool “understands” the drawings Tool support Check the correctnes Have a meaning Can be exported Can be processed …

Editor's Notes

  1. MDD implementation is semi-automatically generated from models MDA modeling and transformation languages are standardized by OMG MDE complete model-based software engineering process e.g. reverse engineering MBE e.g models written by modelers by then given by hand as a blueprint to the programmer
  2. Logo-pen based simple drawing VHDL hardware description language