SlideShare a Scribd company logo
1 of 34
Download to read offline
AN OVERVIEW OF MDE
RESEARCH ACTIVITIES IN
THE MISO GROUP
Computer Science Department
Universidad Autónoma de Madrid (Spain)
http://miso.es
@miso_uam
Esther Guerra, Juan de Lara
McGill U - 9th Feb 2018
WHERE WE COME FROM
2
THE AUTONOMOUS
UNIVERSITY OF MADRID
3
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
• Joint diploma Comp.Sci.-Maths
THE MISO GROUP
Modelling and Software Engineering Research Group
Professors:
• Juan de Lara, PhD
• Esther Guerra, PhD
• Elena Gómez, PhD
Researchers:
• Jesús Sánchez, PhD (external)
• Jesús Juan López, PhD (external)
• Antonio Garmendia (FPI)
• Pablo Gómez (research associate)
• Mario González (research associate)
• Ángel Mora (FPU)
• Javier Palomares (research associate)
• Sara Pérez (research associate)
• Santiago Jácome (U. Fuerzas Armadas, Ecuador)
4
http://miso.es
OUR RESEARCH:
MODEL DRIVEN ENGINEERING
Domain-Specific Languages
Model-Transformations
(Meta-)Modelling
Flexibility
Scalability
Reuse
Mobile apps
Open data
Social networks
Streaming data applications
5
AreasConcernsApplications
SOME BITS OF OUR
RESEARCH FOR TODAY
(Meta-)Modelling
• Multi-level modelling
• A-posteriori typing
• Modelling through social networks
Domain-Specific Languages
• Active DSLs
• DSLs by example
• Pattern-based development of DSLs
Transformations
• Verification
• Reuse
6
(Meta-)
modelling
7
MULTI-LEVEL MODELLING (1/2)
8
Using more than two meta-levels at the same time
Reduces accidental complexity
Potency to characterize instances beyond the immediate
meta-level below
ProductType@2
VAT@1: double
price: double
Book: ProductType
VAT=18.0
price=10.0
mobyDick: Book
vs
(class Product becomes
useless: accidental complexity)
Atkinson, Kühne. 2002. Rearchitecting the UML
infrastructure. ACM Tr. Model. Comput. Simul.
12, 4 (2002), 290–321.
MULTI-LEVEL MODELLING (2/2)
Tooling
• MetaDepth (http://metadepth.org)
• Textual modelling, command-line
• Integrated with the Epsilon model
management languages
Relevance in practice
• Patterns whose occurrence signal a “multi-level” smell
• Analysis of OMG standards, meta-model repositories (400+ MMs)
• Pervasive in some domains (sw architecture, enterprise/process
modelling)
• Relatively frequent in OMG specifications (over 35%)
9
de Lara, Guerra. Deep Meta-modelling with MetaDepth. TOOLS (48) 2010: 1-20
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)
Model Ecommerce@2{
Node ProductType {
VAT@1: double;
price: double;
}
Constructive typing
• Creation of objects and classification
are inseparable
Lacks flexibility
• Objects cannot change their type at
run-time (and retain its identity)
Hinders reuse
• An operation defined for a meta-model
cannot be used for another one
APOSTERIORI
TYPING
10
Task
start: Date
duration: int
review: Task
start= 8/5/15
duration=30
creation «instance of»
Tasks meta-model
model
Constructive typing
• Creation of objects and classification
are inseparable
Lacks flexibility
• Objects cannot change their type at
run-time (and retain its identity)
Hinders reuse
• An operation defined for a meta-model
cannot be used for another one
APOSTERIORI
TYPING
11
review: Task
start= 8/5/15
duration=10
model
Task
start: Date
duration: int
review: Task
start= 8/5/15
duration=30
creation «instance of»
Tasks meta-model
model
Constructive typing
• Creation of objects and classification
are inseparable
Lacks flexibility
• Objects cannot change their type at
run-time (and retain its identity)
Hinders reuse
• An operation defined for a meta-model
cannot be used for another one
APOSTERIORI
TYPING
12
Task
start: Date
duration: int
review: Task
start= 8/5/15
duration=30
creation «instance of»
Tasks meta-model
model
review: Task
start= 8/5/15
duration=0
model
Constructive typing
• Creation of objects and classification
are inseparable
Lacks flexibility
• Objects cannot change their type at
run-time (and retain its identity)
Hinders reuse
• An operation defined for a meta-model
cannot be used for another one
A POSTERIORI
TYPING
13
Task
start: Date
duration: int
review: Task
start= 8/5/15
duration=30
creation «instance of»
Tasks meta-model
model
review: Milestone
start= 8/5/15
duration=0
model
Constructive typing
• Creation of objects and classification
are inseparable
Lacks flexibility
• Objects cannot change their type at
run-time (and retain its identity)
Hinders reuse
• An operation defined for a meta-model
cannot be used for another one
A POSTERIORI
TYPING
14
Task
start: Date
duration: int
review: Task
start= 8/5/15
duration=30
creation «instance of»
Tasks meta-model
model
Measurable
quantity: int
Measuring MM
review: Milestone
start= 8/5/15
duration=0
model
AP TYPING MOTIVATION:
REUSE
15
Measurable
quantity: int
Schedulable
date: Date
review: Task
Scheduling MM Measuring MM
model
«instance of» «instance of»
start= 8/5/15
duration= 30
name= “rev”
«Schedulable,Measurable»
*
*
res
Task
start: Date
duration: int
name: String
Resource
Person
owner
assigned
1..*
creation meta-model
role meta-models
creation
«instance of»
a-posteriori typingcreation typing
operation
typing of operation
applicable to
16
AP TYPING MOTIVATION:
FLEXIBLE REUSE
*topics
*
*
res
Task
start: Date
duration: int
name: String
Tasks meta-model (constructive types)
Resource
Person
owner
assigned
1..* 1..*
0..3
reviewsArticle
title: String
Conference meta-model (dynamic types)
Reviewer
Authorauthors
Topic
desc: String
«Author»
p2: Person
«Reviewer»
p1: Person
«Article»
r: Resource
:owner
t1:Task
start: 8/5/15
duration: 30
name: “rev”
:res
:assigned
«Author,Reviewer»
p2: Person
«Reviewer»
p1: Person
«Article»
r: Resource
:owner
t1:Task
start: 8/5/15
duration: 30
name: “rev”
:res
:assigned
«Author»
p3: Person
«Article»
s: Resource
:owner
t2:Task
start: 9/5/15
duration: 30
name: “rev”
:res
:assigned
the model
changes
and gets
retyped
creation «instance of»
model
• A Person (constructive type) is only a Reviewer (a posteriori type)
when some condition is met.
A more flexible typing mechanism for MDE
Decouple instantiation from classification
• Interfaces, Roles in role-based programming languages
Allow dynamic typing and multiple classifiers for objects
Type and instance-level reclassification specifications
• Transformation by reclassification
• Flexible reuse of model management operations
Prototype implementation in our MetaDepth tool
APOSTERIORI TYPING:
CONTRIBUTIONS
17
de Lara, Guerra. A Posteriori Typing for Model-Driven Engineering: Concepts, Analysis,
and Applications. ACM Trans. Softw. Eng. Methodol. 25(4): 31:1-31:60 (2017)
MODELLING THROUGH
SOCIAL NETWORKS
Increasing use of social networks
• Telegram, Twitter
Use them for collaborative modelling
• Chatbot
• Interprets natural language
• Creates a meta-model automatically
18
https://saraperezsoler.github.io/
ModellingBot/
Perez-Soler, Guerra, de Lara, Jurado. The Rise of the (Modelling) Bots: Towards Assisted
Modelling via Social Networks. Proc ASE’2017.
Perez-Soler, Guerra, de Lara. Assisted modelling over social networks with SOCIO. Tool demo at
MODELS’17.
19
DSLs
DSLs BY EXAMPLE
A way to make meta-modelling/DSLs development more accesible
• Domain experts
• Foster their active participation in DSL development
20
López-Fernández, Sánchez Cuadrado, Guerra, de Lara. Example-driven meta-model
development. SoSyM 14(4): 1323-1347 (2015)
ACTIVE DSLs
Move beyond current scenarios for DSL use
today
• Use in mobility
• Geolocation
• Context awareness
• Collaboration
• External interaction
New kinds of DSLs
• Geo, Open, Contextual, Active
DSL-Comet
• Modelling iOS devices&Eclipse
• Available at app store
21
Vaquero, Palomares, Guerra, de Lara. Active DSLs: making every mobile user a modeller.
Proc. MODELS’2017.
https://diagrameditorserver.herokuapp.com/
PATTERN-BASED DSL
DEVELOPMENT
DSLs are rarely built from scratch
• DSLs for behaviour are inspired by state machines, workflow
languages, etc
Patterns
• Domain patterns (e.g., StateMachines)
• Design patterns (e.g., Lists)
• Concrete syntax patterns
• Infrastructure (e.g., model partitioning, filters, queries, etc)
• Dynamic semantics
DSL-tao: http://jdelara.github.io/DSL-tao/
22
A. Pescador, A. Garmendia, E. Guerra, J. Sánchez Cuadrado, J. de Lara. Pattern-
based development of Domain-Specific Modelling Languages. MoDELS 2015: 166-175
PATTERN STRUCTURE
AND APPLICATION
23
PATTERNS AND MULTI-
LEVEL MODELLING
24
PATTERN VARIANTS
25
Pattern cardinality
• Fine-grained customization
Pattern variants
• Coarse-grained alternatives
DSL-TAO
26
http://jdelara.github.io/DSL-tao/
An Eclipse based tool
• Extensible with new patterns
• Based on Ecore/EMF
27
Trafos
TRANSFORMATION ANALYSIS
28
J. Sánchez Cuadrado, E. Guerra, J. de Lara. Static analysis of model transformations.
IEEE Trans. Software Eng. 43(9): 868-897 (2017)
J. Sánchez Cuadrado, E. Guerra, J. de Lara. AnATLyzer: An Advanced IDE for ATL Model
Transformations. Proc. ICSE 2018 (demos).
TRANSFORMATION ANALYSIS BY
ADVANCING CONSTRAINTS
29
Combined with constraint solving
• Ensure strong executability
• Characterize classes of target models
• Contract-based transformation development
• Property-based testing
• Bi-directional transformations
J. Sánchez Cuadrado, E. Guerra, J. de Lara, R. Clariso, J. Cabot. Translating target to source
constraints in model-to-model transformations. Proc. IEEE/ACM MODELS’2017.
CORRECTNESS ANALYSIS:
SATISFACTION OF TARGET
CONSTRAINTS
30
Is there some Factory model, whose equivalent Petri net violates constraint
boundedTok?
module factory2pn;
create OUT : PN from IN : FAC;
rule Factory2PN2 {
from f :FAC!Factory(f.capacity<=0)
to pn : PN!PetriNet (
elems <- f.conveyors->
union(f.machines),
bound <- 1
)
}…
ATL Transformation
Yes (bound=1)
31
CORRECTNESS ANALYSIS:
SATISFACTION OF TARGET
CONSTRAINTS
REUSABILITY:
CONCEPTS
32
Taking ideas of generic programming
Source
Concept
Generic
M2M transf.
(template)
from to
Concrete
source MM
binding
Instantiated
M2M transf.
from to
instantiation1
Source
model
conforms
Target
model
2
conforms
execution
Definition
Instantiation
Execution
Concrete
target MM
binding1
Target
Concept
REUSABILITY:
CONCEPTS
33
rule class2jclass {
from class : OO!Class
to jclass : Java!JavaClass
( name <- class.name,
extends <- class.superclasses.first() )
}
rule attribute2field {
from att : OO!Attribute
to field : Java!Field
( name <- att.name,
owner <- att.owner,
isPublic <- att.isPublic )
}
JavaClass
name : String
extends
Domain to: meta-model
owner
*
name : String
isPublic : boolean
Field
Class
name : String
superclasses
*
Domain from: concept
owner
*
name : String
isPublic : boolean
Attribute
Binding of concept:
generic transformation (template)
Class  Component
Class.name  Component.name
Class.superclasses  Component.parents
Attribute  Property
Attribute.name  Property.name
Attribute.isPublic  Property.public
Attribute.owner  Property.cprop
Component
parents *
cprop
*
public : boolean
readonly: boolean
Property Port
in : boolean
out: boolean
*
the transformation can be applied
to instances of the Components meta-model
Domain from: meta-model
Components
name : String
NamedElement
cport
Sánchez Cuadrado, Guerra, de Lara. A Component Model for Model
Transformations. IEEE Trans. Software Eng. 40(11): 1042-1060 (2014)
de Lara, Guerra. Towards the flexible reuse of model transformations:
A formal approach based on graph transformation. J. Log. Algebr.
Meth. Program. 83(5-6): 427-458 (2014)
THANKS!
Questions?
Esther.Guerra@uam.es
Juan.deLara@uam.es
34
http://www.miso.es
modelling &
software engineering
research group

More Related Content

Similar to Miso-McGill

Big Data Analytics course: Named Entities and Deep Learning for NLP
Big Data Analytics course: Named Entities and Deep Learning for NLPBig Data Analytics course: Named Entities and Deep Learning for NLP
Big Data Analytics course: Named Entities and Deep Learning for NLPChristian Morbidoni
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingLionel Briand
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsMongoDB
 
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...IncQuery Labs
 
Cse 8th sem syllabus
Cse 8th sem syllabusCse 8th sem syllabus
Cse 8th sem syllabusAkshatha Nair
 
Apache Spark and the Emerging Technology Landscape for Big Data
Apache Spark and the Emerging Technology Landscape for Big DataApache Spark and the Emerging Technology Landscape for Big Data
Apache Spark and the Emerging Technology Landscape for Big DataPaco Nathan
 
Builders and Developers Session one MSTC`15
Builders and Developers Session one MSTC`15Builders and Developers Session one MSTC`15
Builders and Developers Session one MSTC`15Moatasim Magdy
 
Wimmics Research Team 2015 Activity Report
Wimmics Research Team 2015 Activity ReportWimmics Research Team 2015 Activity Report
Wimmics Research Team 2015 Activity ReportFabien Gandon
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle Databricks
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation SlideKhairul Filhan
 
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...Ali Alkan
 
The Quest for an Open Source Data Science Platform
 The Quest for an Open Source Data Science Platform The Quest for an Open Source Data Science Platform
The Quest for an Open Source Data Science PlatformQAware GmbH
 
Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...Alessandra Bagnato
 
MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...OW2
 
Overview of the Research in Wimmics 2018
Overview of the Research in Wimmics 2018Overview of the Research in Wimmics 2018
Overview of the Research in Wimmics 2018Fabien Gandon
 

Similar to Miso-McGill (20)

Big Data Analytics course: Named Entities and Deep Learning for NLP
Big Data Analytics course: Named Entities and Deep Learning for NLPBig Data Analytics course: Named Entities and Deep Learning for NLP
Big Data Analytics course: Named Entities and Deep Learning for NLP
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
SICOMORO
SICOMOROSICOMORO
SICOMORO
 
Scalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and TestingScalable and Cost-Effective Model-Based Software Verification and Testing
Scalable and Cost-Effective Model-Based Software Verification and Testing
 
Data-X-v3.1
Data-X-v3.1Data-X-v3.1
Data-X-v3.1
 
Benefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSsBenefits of Using MongoDB Over RDBMSs
Benefits of Using MongoDB Over RDBMSs
 
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
Towards the Next Generation of Reactive Model Transformations on Low-Code Pla...
 
Cse 8th sem syllabus
Cse 8th sem syllabusCse 8th sem syllabus
Cse 8th sem syllabus
 
Apache Spark and the Emerging Technology Landscape for Big Data
Apache Spark and the Emerging Technology Landscape for Big DataApache Spark and the Emerging Technology Landscape for Big Data
Apache Spark and the Emerging Technology Landscape for Big Data
 
Builders and Developers Session one MSTC`15
Builders and Developers Session one MSTC`15Builders and Developers Session one MSTC`15
Builders and Developers Session one MSTC`15
 
Wimmics Research Team 2015 Activity Report
Wimmics Research Team 2015 Activity ReportWimmics Research Team 2015 Activity Report
Wimmics Research Team 2015 Activity Report
 
MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle MLFlow: Platform for Complete Machine Learning Lifecycle
MLFlow: Platform for Complete Machine Learning Lifecycle
 
Data-X-Sparse-v2
Data-X-Sparse-v2Data-X-Sparse-v2
Data-X-Sparse-v2
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Student Industrial Training Presentation Slide
Student Industrial Training Presentation SlideStudent Industrial Training Presentation Slide
Student Industrial Training Presentation Slide
 
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
Makine Öğrenmesi, Yapay Zeka ve Veri Bilimi Süreçlerinin Otomatikleştirilmesi...
 
The Quest for an Open Source Data Science Platform
 The Quest for an Open Source Data Science Platform The Quest for an Open Source Data Science Platform
The Quest for an Open Source Data Science Platform
 
Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...Eurostars MODELS Project, System modeling and design exploration of applicati...
Eurostars MODELS Project, System modeling and design exploration of applicati...
 
MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...MODELS, a unified environment for the design of system applications on parall...
MODELS, a unified environment for the design of system applications on parall...
 
Overview of the Research in Wimmics 2018
Overview of the Research in Wimmics 2018Overview of the Research in Wimmics 2018
Overview of the Research in Wimmics 2018
 

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
 
Multi21
Multi21Multi21
Multi21
 
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
 
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

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Miso-McGill

  • 1. AN OVERVIEW OF MDE RESEARCH ACTIVITIES IN THE MISO GROUP Computer Science Department Universidad Autónoma de Madrid (Spain) http://miso.es @miso_uam Esther Guerra, Juan de Lara McGill U - 9th Feb 2018
  • 2. WHERE WE COME FROM 2
  • 3. THE AUTONOMOUS UNIVERSITY OF MADRID 3 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 • Joint diploma Comp.Sci.-Maths
  • 4. THE MISO GROUP Modelling and Software Engineering Research Group Professors: • Juan de Lara, PhD • Esther Guerra, PhD • Elena Gómez, PhD Researchers: • Jesús Sánchez, PhD (external) • Jesús Juan López, PhD (external) • Antonio Garmendia (FPI) • Pablo Gómez (research associate) • Mario González (research associate) • Ángel Mora (FPU) • Javier Palomares (research associate) • Sara Pérez (research associate) • Santiago Jácome (U. Fuerzas Armadas, Ecuador) 4 http://miso.es
  • 5. OUR RESEARCH: MODEL DRIVEN ENGINEERING Domain-Specific Languages Model-Transformations (Meta-)Modelling Flexibility Scalability Reuse Mobile apps Open data Social networks Streaming data applications 5 AreasConcernsApplications
  • 6. SOME BITS OF OUR RESEARCH FOR TODAY (Meta-)Modelling • Multi-level modelling • A-posteriori typing • Modelling through social networks Domain-Specific Languages • Active DSLs • DSLs by example • Pattern-based development of DSLs Transformations • Verification • Reuse 6
  • 8. MULTI-LEVEL MODELLING (1/2) 8 Using more than two meta-levels at the same time Reduces accidental complexity Potency to characterize instances beyond the immediate meta-level below ProductType@2 VAT@1: double price: double Book: ProductType VAT=18.0 price=10.0 mobyDick: Book vs (class Product becomes useless: accidental complexity) Atkinson, Kühne. 2002. Rearchitecting the UML infrastructure. ACM Tr. Model. Comput. Simul. 12, 4 (2002), 290–321.
  • 9. MULTI-LEVEL MODELLING (2/2) Tooling • MetaDepth (http://metadepth.org) • Textual modelling, command-line • Integrated with the Epsilon model management languages Relevance in practice • Patterns whose occurrence signal a “multi-level” smell • Analysis of OMG standards, meta-model repositories (400+ MMs) • Pervasive in some domains (sw architecture, enterprise/process modelling) • Relatively frequent in OMG specifications (over 35%) 9 de Lara, Guerra. Deep Meta-modelling with MetaDepth. TOOLS (48) 2010: 1-20 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) Model Ecommerce@2{ Node ProductType { VAT@1: double; price: double; }
  • 10. Constructive typing • Creation of objects and classification are inseparable Lacks flexibility • Objects cannot change their type at run-time (and retain its identity) Hinders reuse • An operation defined for a meta-model cannot be used for another one APOSTERIORI TYPING 10 Task start: Date duration: int review: Task start= 8/5/15 duration=30 creation «instance of» Tasks meta-model model
  • 11. Constructive typing • Creation of objects and classification are inseparable Lacks flexibility • Objects cannot change their type at run-time (and retain its identity) Hinders reuse • An operation defined for a meta-model cannot be used for another one APOSTERIORI TYPING 11 review: Task start= 8/5/15 duration=10 model Task start: Date duration: int review: Task start= 8/5/15 duration=30 creation «instance of» Tasks meta-model model
  • 12. Constructive typing • Creation of objects and classification are inseparable Lacks flexibility • Objects cannot change their type at run-time (and retain its identity) Hinders reuse • An operation defined for a meta-model cannot be used for another one APOSTERIORI TYPING 12 Task start: Date duration: int review: Task start= 8/5/15 duration=30 creation «instance of» Tasks meta-model model review: Task start= 8/5/15 duration=0 model
  • 13. Constructive typing • Creation of objects and classification are inseparable Lacks flexibility • Objects cannot change their type at run-time (and retain its identity) Hinders reuse • An operation defined for a meta-model cannot be used for another one A POSTERIORI TYPING 13 Task start: Date duration: int review: Task start= 8/5/15 duration=30 creation «instance of» Tasks meta-model model review: Milestone start= 8/5/15 duration=0 model
  • 14. Constructive typing • Creation of objects and classification are inseparable Lacks flexibility • Objects cannot change their type at run-time (and retain its identity) Hinders reuse • An operation defined for a meta-model cannot be used for another one A POSTERIORI TYPING 14 Task start: Date duration: int review: Task start= 8/5/15 duration=30 creation «instance of» Tasks meta-model model Measurable quantity: int Measuring MM review: Milestone start= 8/5/15 duration=0 model
  • 15. AP TYPING MOTIVATION: REUSE 15 Measurable quantity: int Schedulable date: Date review: Task Scheduling MM Measuring MM model «instance of» «instance of» start= 8/5/15 duration= 30 name= “rev” «Schedulable,Measurable» * * res Task start: Date duration: int name: String Resource Person owner assigned 1..* creation meta-model role meta-models creation «instance of» a-posteriori typingcreation typing operation typing of operation applicable to
  • 16. 16 AP TYPING MOTIVATION: FLEXIBLE REUSE *topics * * res Task start: Date duration: int name: String Tasks meta-model (constructive types) Resource Person owner assigned 1..* 1..* 0..3 reviewsArticle title: String Conference meta-model (dynamic types) Reviewer Authorauthors Topic desc: String «Author» p2: Person «Reviewer» p1: Person «Article» r: Resource :owner t1:Task start: 8/5/15 duration: 30 name: “rev” :res :assigned «Author,Reviewer» p2: Person «Reviewer» p1: Person «Article» r: Resource :owner t1:Task start: 8/5/15 duration: 30 name: “rev” :res :assigned «Author» p3: Person «Article» s: Resource :owner t2:Task start: 9/5/15 duration: 30 name: “rev” :res :assigned the model changes and gets retyped creation «instance of» model • A Person (constructive type) is only a Reviewer (a posteriori type) when some condition is met.
  • 17. A more flexible typing mechanism for MDE Decouple instantiation from classification • Interfaces, Roles in role-based programming languages Allow dynamic typing and multiple classifiers for objects Type and instance-level reclassification specifications • Transformation by reclassification • Flexible reuse of model management operations Prototype implementation in our MetaDepth tool APOSTERIORI TYPING: CONTRIBUTIONS 17 de Lara, Guerra. A Posteriori Typing for Model-Driven Engineering: Concepts, Analysis, and Applications. ACM Trans. Softw. Eng. Methodol. 25(4): 31:1-31:60 (2017)
  • 18. MODELLING THROUGH SOCIAL NETWORKS Increasing use of social networks • Telegram, Twitter Use them for collaborative modelling • Chatbot • Interprets natural language • Creates a meta-model automatically 18 https://saraperezsoler.github.io/ ModellingBot/ Perez-Soler, Guerra, de Lara, Jurado. The Rise of the (Modelling) Bots: Towards Assisted Modelling via Social Networks. Proc ASE’2017. Perez-Soler, Guerra, de Lara. Assisted modelling over social networks with SOCIO. Tool demo at MODELS’17.
  • 20. DSLs BY EXAMPLE A way to make meta-modelling/DSLs development more accesible • Domain experts • Foster their active participation in DSL development 20 López-Fernández, Sánchez Cuadrado, Guerra, de Lara. Example-driven meta-model development. SoSyM 14(4): 1323-1347 (2015)
  • 21. ACTIVE DSLs Move beyond current scenarios for DSL use today • Use in mobility • Geolocation • Context awareness • Collaboration • External interaction New kinds of DSLs • Geo, Open, Contextual, Active DSL-Comet • Modelling iOS devices&Eclipse • Available at app store 21 Vaquero, Palomares, Guerra, de Lara. Active DSLs: making every mobile user a modeller. Proc. MODELS’2017. https://diagrameditorserver.herokuapp.com/
  • 22. PATTERN-BASED DSL DEVELOPMENT DSLs are rarely built from scratch • DSLs for behaviour are inspired by state machines, workflow languages, etc Patterns • Domain patterns (e.g., StateMachines) • Design patterns (e.g., Lists) • Concrete syntax patterns • Infrastructure (e.g., model partitioning, filters, queries, etc) • Dynamic semantics DSL-tao: http://jdelara.github.io/DSL-tao/ 22 A. Pescador, A. Garmendia, E. Guerra, J. Sánchez Cuadrado, J. de Lara. Pattern- based development of Domain-Specific Modelling Languages. MoDELS 2015: 166-175
  • 25. PATTERN VARIANTS 25 Pattern cardinality • Fine-grained customization Pattern variants • Coarse-grained alternatives
  • 26. DSL-TAO 26 http://jdelara.github.io/DSL-tao/ An Eclipse based tool • Extensible with new patterns • Based on Ecore/EMF
  • 28. TRANSFORMATION ANALYSIS 28 J. Sánchez Cuadrado, E. Guerra, J. de Lara. Static analysis of model transformations. IEEE Trans. Software Eng. 43(9): 868-897 (2017) J. Sánchez Cuadrado, E. Guerra, J. de Lara. AnATLyzer: An Advanced IDE for ATL Model Transformations. Proc. ICSE 2018 (demos).
  • 29. TRANSFORMATION ANALYSIS BY ADVANCING CONSTRAINTS 29 Combined with constraint solving • Ensure strong executability • Characterize classes of target models • Contract-based transformation development • Property-based testing • Bi-directional transformations J. Sánchez Cuadrado, E. Guerra, J. de Lara, R. Clariso, J. Cabot. Translating target to source constraints in model-to-model transformations. Proc. IEEE/ACM MODELS’2017.
  • 30. CORRECTNESS ANALYSIS: SATISFACTION OF TARGET CONSTRAINTS 30 Is there some Factory model, whose equivalent Petri net violates constraint boundedTok? module factory2pn; create OUT : PN from IN : FAC; rule Factory2PN2 { from f :FAC!Factory(f.capacity<=0) to pn : PN!PetriNet ( elems <- f.conveyors-> union(f.machines), bound <- 1 ) }… ATL Transformation
  • 32. REUSABILITY: CONCEPTS 32 Taking ideas of generic programming Source Concept Generic M2M transf. (template) from to Concrete source MM binding Instantiated M2M transf. from to instantiation1 Source model conforms Target model 2 conforms execution Definition Instantiation Execution Concrete target MM binding1 Target Concept
  • 33. REUSABILITY: CONCEPTS 33 rule class2jclass { from class : OO!Class to jclass : Java!JavaClass ( name <- class.name, extends <- class.superclasses.first() ) } rule attribute2field { from att : OO!Attribute to field : Java!Field ( name <- att.name, owner <- att.owner, isPublic <- att.isPublic ) } JavaClass name : String extends Domain to: meta-model owner * name : String isPublic : boolean Field Class name : String superclasses * Domain from: concept owner * name : String isPublic : boolean Attribute Binding of concept: generic transformation (template) Class  Component Class.name  Component.name Class.superclasses  Component.parents Attribute  Property Attribute.name  Property.name Attribute.isPublic  Property.public Attribute.owner  Property.cprop Component parents * cprop * public : boolean readonly: boolean Property Port in : boolean out: boolean * the transformation can be applied to instances of the Components meta-model Domain from: meta-model Components name : String NamedElement cport Sánchez Cuadrado, Guerra, de Lara. A Component Model for Model Transformations. IEEE Trans. Software Eng. 40(11): 1042-1060 (2014) de Lara, Guerra. Towards the flexible reuse of model transformations: A formal approach based on graph transformation. J. Log. Algebr. Meth. Program. 83(5-6): 427-458 (2014)