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

Viewers also liked

ценовая политика
ценовая политикаценовая политика
ценовая политика
Anna Akhramovich
 
Derechos de libertad
Derechos de libertadDerechos de libertad
Derechos de libertad
livinstong zerna
 
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
Steve Mathieu
 
Alberto gomez morales_tarea_ii.3
Alberto gomez morales_tarea_ii.3Alberto gomez morales_tarea_ii.3
Alberto gomez morales_tarea_ii.3
Alberto Gómez Morales
 
Atama Engenharia
Atama EngenhariaAtama Engenharia
Atama Engenharia
Ricardo Endo
 
Roles of Eduactional Technology
Roles of Eduactional TechnologyRoles of Eduactional Technology
Roles of Eduactional Technology
al 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 la
Jose 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-17
Eugenia Drye
 
Хімічні властивості спиртів
Хімічні властивості спиртівХімічні властивості спиртів
Хімічні властивості спиртів
Елена Мешкова
 
Pregunta respuesta-vf-23-02-2016
Pregunta respuesta-vf-23-02-2016Pregunta respuesta-vf-23-02-2016
Pregunta respuesta-vf-23-02-2016
sergina sandino
 
Calentamiento global 1
Calentamiento global 1Calentamiento global 1
Calentamiento global 1
gabydm8
 
Kafka & Couchbase Integration Patterns
Kafka & Couchbase Integration PatternsKafka & Couchbase Integration Patterns
Kafka & Couchbase Integration Patterns
Manuel 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 Voice
Peter "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 AFE
Igor Golovin
 
Makroekonomi
MakroekonomiMakroekonomi
Makroekonomi
Arta Koxha
 

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-McGill
miso_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 Work
Ivo Andreev
 
Automated Machine Learning
Automated Machine LearningAutomated Machine Learning
Automated Machine Learning
Yuriy Guts
 
Multi21
Multi21Multi21
Multi21
miso_uam
 
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
 
Miso
MisoMiso
Miso
miso_uam
 
The Machine Learning Workflow with Azure
The Machine Learning Workflow with AzureThe Machine Learning Workflow with Azure
The Machine Learning Workflow with Azure
Ivo Andreev
 
Prepare your data for machine learning
Prepare your data for machine learningPrepare your data for machine learning
Prepare your data for machine learning
Ivo Andreev
 
2014 01-ticosa
2014 01-ticosa2014 01-ticosa
2014 01-ticosa
Pharo
 
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
Charles 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
 
Machine learning specialist ver#4
Machine learning specialist ver#4Machine learning specialist ver#4
Machine learning specialist ver#4
EPSILON AI INSTITUTE
 
L05 Design Patterns
L05 Design PatternsL05 Design Patterns
L05 Design Patterns
Ólafur Andri Ragnarsson
 
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 Engineering
Jordi Cabot
 
Matlab for a computational PhD
Matlab for a computational PhDMatlab for a computational PhD
Matlab for a computational PhD
AlbanLevy
 
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
 
NEXiDA at OMG June 2009
NEXiDA at OMG June 2009NEXiDA at OMG June 2009
NEXiDA at OMG June 2009
Claudio Rubbiani
 
Modular ObjectLens
Modular ObjectLensModular ObjectLens
Modular ObjectLens
ESUG
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
Abdalmassih Yakeen
 

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 AR
miso_uam
 
Capone.pdf
Capone.pdfCapone.pdf
Capone.pdf
miso_uam
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
miso_uam
 
MLMPLs
MLMPLsMLMPLs
MLMPLs
miso_uam
 
Scientific writing
Scientific writingScientific writing
Scientific writing
miso_uam
 
Facets_UCM
Facets_UCMFacets_UCM
Facets_UCM
miso_uam
 
SLE_MIP08
SLE_MIP08SLE_MIP08
SLE_MIP08
miso_uam
 
mtATL
mtATLmtATL
mtATL
miso_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ática
miso_uam
 
Analysing-MMPLs
Analysing-MMPLsAnalysing-MMPLs
Analysing-MMPLs
miso_uam
 
Facets
FacetsFacets
Facets
miso_uam
 
kite
kitekite
kite
miso_uam
 
MTPLs
MTPLsMTPLs
MTPLs
miso_uam
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reuse
miso_uam
 
DSLcomet
DSLcometDSLcomet
DSLcomet
miso_uam
 
SICOMORO
SICOMOROSICOMORO
SICOMORO
miso_uam
 
ReusingMT
ReusingMTReusingMT
ReusingMT
miso_uam
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
miso_uam
 
MODELSWARD 2017 Panel
MODELSWARD 2017 PanelMODELSWARD 2017 Panel
MODELSWARD 2017 Panel
miso_uam
 
MetaDepth
MetaDepthMetaDepth
MetaDepth
miso_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

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 

Recently uploaded (20)

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 

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