SlideShare a Scribd company logo
MODEL-DRIVEN
ENGINEERING
SOME COLLECTED EXPERIMENTS
J. de Lara, E. Guerra, J. Sánchez Cuadrado
Computer Science Department
Universidad Autónoma de Madrid (Spain)
madSESE’2017
http://miso.es
WHO ARE WE?
2
Universidad Autónoma de Madrid
• Established in 1968.
• North part of Madrid (campus Cantoblanco).
• One of the top universities in Spain.
• >30000 students
• “Excellence” campus with CSIC (Spanish Research
Council).
Computer Science and Telecommunication
Engineering.
• Created in 1992.
• 96 full time professors.
No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.
WHO ARE WE?
3
Esther Guerra Juan de Lara Jesús Sánchez
Cuadrado
Antonio
Garmendia
Jesús J.
López
Fernández
Ángel
Mora
Segura
Pablo
Gómez
Professors
PhD
Students
Javier
Palomares
Sara
Pérez
Research
Project
Assoc.
http://miso.es
We are hiring!
WHAT DO WE DO?
Model-driven engineering
Meta-modelling
• Multi-level modelling. MetaDepth tool (http://metadepth.org)
• A-posteriori typing
Domain-Specific Languages
• Example-based DSL developmemt. MetaBUP
• Pattern-based DSL development. DSL-tao
• Domain-specific modelling in mobile devices. DSL-comet (iOS).
Model transformations
• Transformation reuse. Bento tool.
• Transformation analysis.
• Graph transformation.
4
5
Some
experiments
SOME EXPERIMENTS
Analysing meta-models
• Checking “smells” for refactoring into multi-level [1]
Analysing transformations
• Static analysis of transformations to discover errors [2]
Evaluating tools and notations (with users)
• DSL construction tools [3]
• Domain-specific tools [4]
6
[1] de Lara, Guerra, Sánchez Cuadrado: When and How to Use Multilevel Modelling. ACM
Trans. Softw. Eng. Methodol. 24(2): 12:1-12:46 (2014)
[2] Sánchez Cuadrado, Guerra, de Lara: Static Analysis of Model Transformations. IEEE Trans.
Softw. Eng. 2017 (in press)
[3] Pescador, de Lara: DSL-maps: from requirements to design of domain-specific languages.
Proc. ASE 2016: 438-443.
[4] Buezas, et al : Umbra Designer: Graphical Modelling for Telephony Services. Proc. ECMFA
2013: 179-191
MULTI-LEVEL
MODELLING
Multi-level modelling
• More than two meta-levels at a time
• Simplifies modelling in some scenarios
7
ProductType@2
VAT@1: double
price: double
Book: ProductType
VAT=18.0
price=10.0
mobyDick: Book
vs.
When is it good to use multi-level modelling?
• Five patterns whose occurrence signal a multi-level “smell”
Can it be applied often?
• Analysed a large corpus of more than 400 meta-models (OMG, ATL zoo)
• Pervasive in some domains (software architecture, enterprise/process
modelling)
• Relatively frequent in OMG specifications (over 35%)
How to apply multi-level modelling?
• We show how to map patterns in two-level modelling to multi-level
modelling
• We show refactorings of “real-world” examples
OUR MOTIVATION
8
TYPE-OBJECT
9
Intent: explicit modelling of types and instances
• Types can be added dynamically
• Features of types are fixed and known a priori
Also known as: Type object [Martin et. al 97], item descriptor
[Coad 1992], metaobject [Kiczales and Rivieres 1991]
Example: model product types (books, CDs) and their
instances, to be added on demand. Product types have a vat,
while instances have a price.
R. Martin, D. Riehle, F. Buschmann. 1997. Pattern languages of program design 3. A. Wesley.
P. Coad. 1992. Object-oriented patterns. Commun. ACM 35, 9 (1992), 152–159.
G. Kiczales, J. Des Rivieres. 1991. The art of the metaobject protocol. MIT Press.
TYPE-OBJECT SOLUTIONS
10
ProductType
Book
vat: double {readonly}
price: double
vat : double =4.0
GoF: Book
price = 35
ProductType
vat: double
Product
price: double
type1
Book: ProductType
vat = 4.0
:type
GoF: Product
price = 35
ProductType
Book:
ProductType
GoF: Book
vat@1: double
price: double
vat=4.0
price = 35
@2
@1
@0
Static types
Dynamic types
…
Multi-level
PRACTICAL APPLICABILITY
How often do these patterns occur?
Analysis of meta-model repositories:
• ATL meta-model zoo (305 meta-models) [8.5% occur.]
• OMG specifications (116 specs) [35%~38% occur.]
• ReMoDD (15 meta-models) [20% occur.]
• Articles in journals/conferences
84 meta-models with 459 occurrences (avg 5.5)
• Most common pattern is the type-object
• Most used solution is explicit types (~70%)
11
WHERE?
12
19
17
13
4
4
3
3
3
2 3
Enterprise/Process Modelling
Software Architecture
Systems/Software Modelling
Manufacturing
Reverse Engineering
Data modelling
Requirements
Bibliographic
Traceability
Metrics
#META-MODELS
153
85
48
46
19
14
10 9 8
4
#PATTERN
OCCURRENCES
EXPLICIT TYPES TO MULTI-LEVEL
13
• CloudML (6 T-O, 1 DF)
• 14 classes
• Multi-level solution
• 6 classes
14
No! Discard error
ATL
transf.
meta-
models
1: type
checking TDG
4: constraint
solving
potential
problems
errors,
warnings
3: transformation
analysis
2: create
TDG
annot.
ATL
model
Yes! Confirm
error
Check it out at:
http://miso.es/tools/anATLyzer.html
witness
found?
STATIC ANALYSIS OF (ATL)
TRANSFORMATIONS
ANATLIZER
15
http://www.miso.es/tools/anATLyzer.html
EVALUATION
ATL transformation zoo
• 101 transformations
• More than 4.000
problems found
• All transformations have
problems
16
Mutation testing of a synthetic transformation
• Precision 96%
• Recall 96%
DSL-MAPS
17
Evaluation
• Understandability, usefulness and completeness of synthesized meta-model
• User study with 7 engineers
• Likert scale (subjective) and
• Evaluation of produced artefacts (errors, completeness)
http://miso.es/tools/DSLtao.html
UMBRA-DESIGNER
18
Evaluation
• Productivity
• 2 users: One using Java code, the other using the DSL
• Evaluation of productivity gain on the basis of 10 tasks
• Results: productivity gain of 45% in average
EVALUATIONS IN MDE
User studies
• Hard!
• Difficult to have access to expert users
Evaluations based on artefact analysis
• We need (bigger) repositories!
• Of models, meta-models, transformations, etc
• ATL meta-model zoo: some of them really toy meta-models
• ATL transformation zoo: Buggy!
• Standards: slight variations in OCL
• Repositories of meta-models with OCL constraints
MDE techniques for software evaluations
• JavaCheck: a DSL for static analysis of Java programs
19
THANKS!
Questions?
Juan.deLara@uam.es
20
http://www.miso.es
modelling &
software engineering
research group

More Related Content

PPTX
Identificacion de peligros y evaluacion de riesgos en oficinas taller de nve...
PPTX
Charlotte whiplash presentation
DOCX
Christopher c. greene 2017
PDF
Fuentes singulares
PPTX
PPTX
Oe global2017 corti
PPTX
Kudu Forrester Webinar
Identificacion de peligros y evaluacion de riesgos en oficinas taller de nve...
Charlotte whiplash presentation
Christopher c. greene 2017
Fuentes singulares
Oe global2017 corti
Kudu Forrester Webinar

Viewers also liked (18)

PPT
ценовая политика
PPTX
Derechos de libertad
PPT
Hot Topics in Critical Care - March 2017
PDF
Alberto gomez morales_tarea_ii.3
PDF
Atama Engenharia
PPTX
Roles of Eduactional Technology
PPTX
Aspectos éticos y legales del manejo de la
PPT
Προσκλήσεις Κοκκινοσκουφίτσας
PPTX
Social studies study guide chapter 4 for 3rd grade 3 8-17
PPTX
Хімічні властивості спиртів
PDF
Pregunta respuesta-vf-23-02-2016
PPTX
Calentamiento global 1
PPTX
Kafka & Couchbase Integration Patterns
PDF
From Desktop to Home: Optimizing for Voice
PDF
Продвижение в Instagram для регионального бизнеса
PDF
7.8.10. Каталог Altivar AFE
DOCX
Makroekonomi
ценовая политика
Derechos de libertad
Hot Topics in Critical Care - March 2017
Alberto gomez morales_tarea_ii.3
Atama Engenharia
Roles of Eduactional Technology
Aspectos éticos y legales del manejo de la
Προσκλήσεις Κοκκινοσκουφίτσας
Social studies study guide chapter 4 for 3rd grade 3 8-17
Хімічні властивості спиртів
Pregunta respuesta-vf-23-02-2016
Calentamiento global 1
Kafka & Couchbase Integration Patterns
From Desktop to Home: Optimizing for Voice
Продвижение в Instagram для регионального бизнеса
7.8.10. Каталог Altivar AFE
Makroekonomi
Ad

Similar to MDE-experiments (20)

PDF
Multi21
PDF
Miso-McGill
PDF
Miso
PDF
MetaDepth
PDF
Constructing DSMLs
PPT
PPT
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
PDF
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
PDF
Introduction to MDE
PDF
CS587 Project - Raychaudhury,Shaalmali
PPT
Web technologies: Model Driven Engineering
PDF
Model Transformation: A survey of the state of the art
PPT
UML01
PPT
ERP_Up_Down.ppt
PDF
Mda introduction and common research problems
PDF
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
PDF
OpenTravel Model-Driven Schema at IATA
Multi21
Miso-McGill
Miso
MetaDepth
Constructing DSMLs
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Introduction to MDE
CS587 Project - Raychaudhury,Shaalmali
Web technologies: Model Driven Engineering
Model Transformation: A survey of the state of the art
UML01
ERP_Up_Down.ppt
Mda introduction and common research problems
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
OpenTravel Model-Driven Schema at IATA
Ad

More from miso_uam (20)

PDF
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
PPT
Software development... for all? (keynote at ICSOFT'2024)
PDF
Model-driven engineering for AR
PDF
Capone.pdf
PDF
MLE_keynote.pdf
PDF
MLMPLs
PDF
Scientific writing
PDF
Facets_UCM
PDF
SLE_MIP08
PDF
mtATL
PDF
Máster en Métodos Formales en Ingeniería Informática
PDF
Analysing-MMPLs
PDF
Facets
PDF
kite
PDF
MTPLs
PDF
Model Transformation Reuse
PDF
DSLcomet
PDF
SICOMORO
PDF
ReusingMT
PDF
keynote modelsward 2017
AI-ASSISTED METAMORPHIC TESTING FOR DOMAIN-SPECIFIC MODELLING AND SIMULATION
Software development... for all? (keynote at ICSOFT'2024)
Model-driven engineering for AR
Capone.pdf
MLE_keynote.pdf
MLMPLs
Scientific writing
Facets_UCM
SLE_MIP08
mtATL
Máster en Métodos Formales en Ingeniería Informática
Analysing-MMPLs
Facets
kite
MTPLs
Model Transformation Reuse
DSLcomet
SICOMORO
ReusingMT
keynote modelsward 2017

Recently uploaded (20)

PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Nekopoi APK 2025 free lastest update
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Odoo Companies in India – Driving Business Transformation.pdf
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Digital Systems & Binary Numbers (comprehensive )
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Designing Intelligence for the Shop Floor.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
L1 - Introduction to python Backend.pptx
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
Why Generative AI is the Future of Content, Code & Creativity?
CHAPTER 2 - PM Management and IT Context
Reimagine Home Health with the Power of Agentic AI​
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Nekopoi APK 2025 free lastest update
PTS Company Brochure 2025 (1).pdf.......
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Odoo Companies in India – Driving Business Transformation.pdf

MDE-experiments

  • 1. MODEL-DRIVEN ENGINEERING SOME COLLECTED EXPERIMENTS J. de Lara, E. Guerra, J. Sánchez Cuadrado Computer Science Department Universidad Autónoma de Madrid (Spain) madSESE’2017 http://miso.es
  • 2. WHO ARE WE? 2 Universidad Autónoma de Madrid • Established in 1968. • North part of Madrid (campus Cantoblanco). • One of the top universities in Spain. • >30000 students • “Excellence” campus with CSIC (Spanish Research Council). Computer Science and Telecommunication Engineering. • Created in 1992. • 96 full time professors. No se puede mostrar la imagen. Puede que su equipo no tenga suficiente memoria para abrir la imagen o que ésta esté dañada. Reinicie el equipo y, a continuación, abra el archivo de nuevo. Si sigue apareciendo la x roja, puede que tenga que borrar la imagen e insertarla de nuevo.
  • 3. WHO ARE WE? 3 Esther Guerra Juan de Lara Jesús Sánchez Cuadrado Antonio Garmendia Jesús J. López Fernández Ángel Mora Segura Pablo Gómez Professors PhD Students Javier Palomares Sara Pérez Research Project Assoc. http://miso.es We are hiring!
  • 4. WHAT DO WE DO? Model-driven engineering Meta-modelling • Multi-level modelling. MetaDepth tool (http://metadepth.org) • A-posteriori typing Domain-Specific Languages • Example-based DSL developmemt. MetaBUP • Pattern-based DSL development. DSL-tao • Domain-specific modelling in mobile devices. DSL-comet (iOS). Model transformations • Transformation reuse. Bento tool. • Transformation analysis. • Graph transformation. 4
  • 6. SOME EXPERIMENTS Analysing meta-models • Checking “smells” for refactoring into multi-level [1] Analysing transformations • Static analysis of transformations to discover errors [2] Evaluating tools and notations (with users) • DSL construction tools [3] • Domain-specific tools [4] 6 [1] de Lara, Guerra, Sánchez Cuadrado: When and How to Use Multilevel Modelling. ACM Trans. Softw. Eng. Methodol. 24(2): 12:1-12:46 (2014) [2] Sánchez Cuadrado, Guerra, de Lara: Static Analysis of Model Transformations. IEEE Trans. Softw. Eng. 2017 (in press) [3] Pescador, de Lara: DSL-maps: from requirements to design of domain-specific languages. Proc. ASE 2016: 438-443. [4] Buezas, et al : Umbra Designer: Graphical Modelling for Telephony Services. Proc. ECMFA 2013: 179-191
  • 7. MULTI-LEVEL MODELLING Multi-level modelling • More than two meta-levels at a time • Simplifies modelling in some scenarios 7 ProductType@2 VAT@1: double price: double Book: ProductType VAT=18.0 price=10.0 mobyDick: Book vs.
  • 8. When is it good to use multi-level modelling? • Five patterns whose occurrence signal a multi-level “smell” Can it be applied often? • Analysed a large corpus of more than 400 meta-models (OMG, ATL zoo) • Pervasive in some domains (software architecture, enterprise/process modelling) • Relatively frequent in OMG specifications (over 35%) How to apply multi-level modelling? • We show how to map patterns in two-level modelling to multi-level modelling • We show refactorings of “real-world” examples OUR MOTIVATION 8
  • 9. TYPE-OBJECT 9 Intent: explicit modelling of types and instances • Types can be added dynamically • Features of types are fixed and known a priori Also known as: Type object [Martin et. al 97], item descriptor [Coad 1992], metaobject [Kiczales and Rivieres 1991] Example: model product types (books, CDs) and their instances, to be added on demand. Product types have a vat, while instances have a price. R. Martin, D. Riehle, F. Buschmann. 1997. Pattern languages of program design 3. A. Wesley. P. Coad. 1992. Object-oriented patterns. Commun. ACM 35, 9 (1992), 152–159. G. Kiczales, J. Des Rivieres. 1991. The art of the metaobject protocol. MIT Press.
  • 10. TYPE-OBJECT SOLUTIONS 10 ProductType Book vat: double {readonly} price: double vat : double =4.0 GoF: Book price = 35 ProductType vat: double Product price: double type1 Book: ProductType vat = 4.0 :type GoF: Product price = 35 ProductType Book: ProductType GoF: Book vat@1: double price: double vat=4.0 price = 35 @2 @1 @0 Static types Dynamic types … Multi-level
  • 11. PRACTICAL APPLICABILITY How often do these patterns occur? Analysis of meta-model repositories: • ATL meta-model zoo (305 meta-models) [8.5% occur.] • OMG specifications (116 specs) [35%~38% occur.] • ReMoDD (15 meta-models) [20% occur.] • Articles in journals/conferences 84 meta-models with 459 occurrences (avg 5.5) • Most common pattern is the type-object • Most used solution is explicit types (~70%) 11
  • 12. WHERE? 12 19 17 13 4 4 3 3 3 2 3 Enterprise/Process Modelling Software Architecture Systems/Software Modelling Manufacturing Reverse Engineering Data modelling Requirements Bibliographic Traceability Metrics #META-MODELS 153 85 48 46 19 14 10 9 8 4 #PATTERN OCCURRENCES
  • 13. EXPLICIT TYPES TO MULTI-LEVEL 13 • CloudML (6 T-O, 1 DF) • 14 classes • Multi-level solution • 6 classes
  • 14. 14 No! Discard error ATL transf. meta- models 1: type checking TDG 4: constraint solving potential problems errors, warnings 3: transformation analysis 2: create TDG annot. ATL model Yes! Confirm error Check it out at: http://miso.es/tools/anATLyzer.html witness found? STATIC ANALYSIS OF (ATL) TRANSFORMATIONS
  • 16. EVALUATION ATL transformation zoo • 101 transformations • More than 4.000 problems found • All transformations have problems 16 Mutation testing of a synthetic transformation • Precision 96% • Recall 96%
  • 17. DSL-MAPS 17 Evaluation • Understandability, usefulness and completeness of synthesized meta-model • User study with 7 engineers • Likert scale (subjective) and • Evaluation of produced artefacts (errors, completeness) http://miso.es/tools/DSLtao.html
  • 18. UMBRA-DESIGNER 18 Evaluation • Productivity • 2 users: One using Java code, the other using the DSL • Evaluation of productivity gain on the basis of 10 tasks • Results: productivity gain of 45% in average
  • 19. EVALUATIONS IN MDE User studies • Hard! • Difficult to have access to expert users Evaluations based on artefact analysis • We need (bigger) repositories! • Of models, meta-models, transformations, etc • ATL meta-model zoo: some of them really toy meta-models • ATL transformation zoo: Buggy! • Standards: slight variations in OCL • Repositories of meta-models with OCL constraints MDE techniques for software evaluations • JavaCheck: a DSL for static analysis of Java programs 19