SlideShare a Scribd company logo
1 of 20
Download to read offline
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

Viewers also liked

ценовая политика
ценовая политикаценовая политика
ценовая политикаAnna Akhramovich
 
Hot Topics in Critical Care - March 2017
Hot Topics in Critical Care - March 2017Hot Topics in Critical Care - March 2017
Hot Topics in Critical Care - March 2017Steve Mathieu
 
Roles of Eduactional Technology
Roles of Eduactional TechnologyRoles of Eduactional Technology
Roles of Eduactional Technologyal jim jimenez
 
Aspectos éticos y legales del manejo de la
Aspectos éticos y legales del manejo de laAspectos éticos y legales del manejo de la
Aspectos éticos y legales del manejo de laJose Viillafañaa
 
Προσκλήσεις Κοκκινοσκουφίτσας
Προσκλήσεις ΚοκκινοσκουφίτσαςΠροσκλήσεις Κοκκινοσκουφίτσας
Προσκλήσεις ΚοκκινοσκουφίτσαςDimitra Mylonaki
 
Social studies study guide chapter 4 for 3rd grade 3 8-17
Social studies study guide chapter 4 for 3rd grade 3 8-17Social studies study guide chapter 4 for 3rd grade 3 8-17
Social studies study guide chapter 4 for 3rd grade 3 8-17Eugenia Drye
 
Хімічні властивості спиртів
Хімічні властивості спиртівХімічні властивості спиртів
Хімічні властивості спиртівЕлена Мешкова
 
Pregunta respuesta-vf-23-02-2016
Pregunta respuesta-vf-23-02-2016Pregunta respuesta-vf-23-02-2016
Pregunta respuesta-vf-23-02-2016sergina sandino
 
Calentamiento global 1
Calentamiento global 1Calentamiento global 1
Calentamiento global 1gabydm8
 
Kafka & Couchbase Integration Patterns
Kafka & Couchbase Integration PatternsKafka & Couchbase Integration Patterns
Kafka & Couchbase Integration PatternsManuel Hurtado
 
From Desktop to Home: Optimizing for Voice
From Desktop to Home: Optimizing for VoiceFrom Desktop to Home: Optimizing for Voice
From Desktop to Home: Optimizing for VoicePeter "Dr. Pete" Meyers
 
Продвижение в Instagram для регионального бизнеса
Продвижение в Instagram для регионального бизнесаПродвижение в Instagram для регионального бизнеса
Продвижение в Instagram для регионального бизнесаGusarov Group
 
7.8.10. Каталог Altivar AFE
7.8.10. Каталог Altivar AFE7.8.10. Каталог Altivar AFE
7.8.10. Каталог Altivar AFEIgor Golovin
 

Viewers also liked (18)

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

Similar to MDE-experiments

Miso-McGill
Miso-McGillMiso-McGill
Miso-McGillmiso_uam
 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkIvo Andreev
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine LearningYuriy Guts
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction Mark Billinghurst
 
The Machine Learning Workflow with Azure
The Machine Learning Workflow with AzureThe Machine Learning Workflow with Azure
The Machine Learning Workflow with AzureIvo Andreev
 
Prepare your data for machine learning
Prepare your data for machine learningPrepare your data for machine learning
Prepare your data for machine learningIvo Andreev
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosaPharo
 
Building a performing Machine Learning model from A to Z
Building a performing Machine Learning model from A to ZBuilding a performing Machine Learning model from A to Z
Building a performing Machine Learning model from A to ZCharles Vestur
 
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Databricks
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringJordi Cabot
 
Matlab for a computational PhD
Matlab for a computational PhDMatlab for a computational PhD
Matlab for a computational PhDAlbanLevy
 
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...Infoshare
 
Modular ObjectLens
Modular ObjectLensModular ObjectLens
Modular ObjectLensESUG
 

Similar to MDE-experiments (20)

Miso-McGill
Miso-McGillMiso-McGill
Miso-McGill
 
The Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it WorkThe Power of Auto ML and How Does it Work
The Power of Auto ML and How Does it Work
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learning
 
Multi21
Multi21Multi21
Multi21
 
2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction 2013 Lecture 5: AR Tools and Interaction
2013 Lecture 5: AR Tools and Interaction
 
Miso
MisoMiso
Miso
 
The Machine Learning Workflow with Azure
The Machine Learning Workflow with AzureThe Machine Learning Workflow with Azure
The Machine Learning Workflow with Azure
 
Prepare your data for machine learning
Prepare your data for machine learningPrepare your data for machine learning
Prepare your data for machine learning
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
 
Building a performing Machine Learning model from A to Z
Building a performing Machine Learning model from A to ZBuilding a performing Machine Learning model from A to Z
Building a performing Machine Learning model from A to Z
 
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
Building a MLOps Platform Around MLflow to Enable Model Productionalization i...
 
Machine learning specialist ver#4
Machine learning specialist ver#4Machine learning specialist ver#4
Machine learning specialist ver#4
 
L05 Design Patterns
L05 Design PatternsL05 Design Patterns
L05 Design Patterns
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Our research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software EngineeringOur research lines on Model-Driven Engineering and Software Engineering
Our research lines on Model-Driven Engineering and Software Engineering
 
Matlab for a computational PhD
Matlab for a computational PhDMatlab for a computational PhD
Matlab for a computational PhD
 
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
infoShare AI Roadshow 2018 - Adam Karwan (Groupon) - Jak wykorzystać uczenie ...
 
NEXiDA at OMG June 2009
NEXiDA at OMG June 2009NEXiDA at OMG June 2009
NEXiDA at OMG June 2009
 
Modular ObjectLens
Modular ObjectLensModular ObjectLens
Modular ObjectLens
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 

More from miso_uam

Model-driven engineering for AR
Model-driven engineering for ARModel-driven engineering for AR
Model-driven engineering for ARmiso_uam
 
Capone.pdf
Capone.pdfCapone.pdf
Capone.pdfmiso_uam
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdfmiso_uam
 
Scientific writing
Scientific writingScientific writing
Scientific writingmiso_uam
 
Facets_UCM
Facets_UCMFacets_UCM
Facets_UCMmiso_uam
 
Máster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería InformáticaMáster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería Informáticamiso_uam
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLsmiso_uam
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reusemiso_uam
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017miso_uam
 
MODELSWARD 2017 Panel
MODELSWARD 2017 PanelMODELSWARD 2017 Panel
MODELSWARD 2017 Panelmiso_uam
 

More from miso_uam (20)

Model-driven engineering for AR
Model-driven engineering for ARModel-driven engineering for AR
Model-driven engineering for AR
 
Capone.pdf
Capone.pdfCapone.pdf
Capone.pdf
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
 
MLMPLs
MLMPLsMLMPLs
MLMPLs
 
Scientific writing
Scientific writingScientific writing
Scientific writing
 
Facets_UCM
Facets_UCMFacets_UCM
Facets_UCM
 
SLE_MIP08
SLE_MIP08SLE_MIP08
SLE_MIP08
 
mtATL
mtATLmtATL
mtATL
 
Máster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería InformáticaMáster en Métodos Formales en Ingeniería Informática
Máster en Métodos Formales en Ingeniería Informática
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
 
Facets
FacetsFacets
Facets
 
kite
kitekite
kite
 
MTPLs
MTPLsMTPLs
MTPLs
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reuse
 
DSLcomet
DSLcometDSLcomet
DSLcomet
 
SICOMORO
SICOMOROSICOMORO
SICOMORO
 
ReusingMT
ReusingMTReusingMT
ReusingMT
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
 
MODELSWARD 2017 Panel
MODELSWARD 2017 PanelMODELSWARD 2017 Panel
MODELSWARD 2017 Panel
 
MetaDepth
MetaDepthMetaDepth
MetaDepth
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

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