SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
MODULAR LANGUAGE
PRODUCT LINES
A GRAPH TRANSFORMATION APPROACH
MODELS’2022, Montreal
Juan de Lara1, Esther Guerra1, Paolo Bottoni2
1Universidad Autónoma de Madrid (Spain)
2Sapienza University of Rome (Italy)
FROM DSLs TO
DSL FAMILIES
Modelling languages
• Essential for engineering disciplines
• Model-driven Engineering
• Domain-specific Languages (DSLs)
Does ONE language fit ALL?
• Different users: education, low-code development
Example: Class diagrams with different levels of sophistication
• Different expressivity: modelling purpose, analyses
Example: Petri nets with inhibitor, read arcs, time, colours
• Different levels of precision: to support different project phases
Example: From sketch-like diagrams to fully precise models
Language families!
2
EXAMPLE
A DSL FAMILY FOR NETWORKING
3
Simple link with node
failures and acks
4
Simple link with node
failures and acks
Rich links with
communication failures
EXAMPLE
A DSL FAMILY FOR NETWORKING
5
Simple link with node
failures and acks
Rich links with
communication failures
Rich links with
communication failures
and time
EXAMPLE
A DSL FAMILY FOR NETWORKING
HOW TO DEFINE A
LANGUAGE FAMILY?
Define each DSL separately (clone & own)
• Meta-models and rules share commonalities
• Adding a new feature (e.g., ad-hoc networks) doubles the
family size
Define just one “super-language” with all features
• Language difficult to use for users
• Unnecessary concepts
• What about alternative elements (rich vs. simple links)?
6
OUR GOAL
A technique to define and manage DSL families that is
• Succinct
(much) less effort than specifying each language variant in isolation
• Extensible
Adding a new variant should be easy, leave existing variants unchanged
Incremental language construction
• Reusable
Specifications of variants as reusable as possible to minimise effort and
avoid duplications
• Analysable
Ensure the behaviour of its variants is compatible with the base behaviour
of the language
7
THE APPROACH
8
...
extension roles
optional
mandatory
alternative
or
M
(dependency)
MM
rule_i
rule_i
rulei
M1
(extension)
MM1
rule_i
rule_i
rulej
Mn
(extension)
MMn
rule_i
rule_i
rulek
role of Mn in dependency
inclusion of MMn in MM
{C1→C3,...}
{C1→C2,...}
rule extension
1
2
3
1
2
3
Language product line
Language modules
• Meta-model
• Transformation rules
Module dependencies
Module extensions
• Extension roles
• As in feature models
LANGUAGE PRODUCT LINE
EXAMPLE
9
Meta-model elements are identified by name
10
Meta-model elements are identified by name
top module
LANGUAGE PRODUCT LINE
EXAMPLE
11
Meta-model elements are identified by name
top module
Cross-tree
constraints
LANGUAGE PRODUCT LINE
EXAMPLE
USING THE PRODUCT LINE:
CONFIGURATIONS
12
A set of modules such that
• All top modules are selected
• If a module is selected, then the configuration needs selecting:
1. all mandatory extension modules
2. exactly one alternative extension modules
3. at least one OR extension module
4. its dependency
• The cross-tree constraints evaluate to true
CONFIGURATIONS
EXAMPLE
13
Some configurations:
CONFIGURATIONS
EXAMPLE
14
Some configurations:
• {Networking, SimpleLink}
CONFIGURATIONS
EXAMPLE
15
Some configurations:
• {Networking, SimpleLink}
• {Networking, SimpleLink, NodeFailures, Ack}
CONFIGURATIONS
EXAMPLE
16
Some configurations:
• {Networking, SimpleLink}
• {Networking, SimpleLink, NodeFailures, Ack}
• {Networking, RichLink, CommFailures}
CONFIGURATIONS
EXAMPLE
17
Some configurations:
• {Networking, SimpleLink}
• {Networking, SimpleLink, NodeFailures, Ack}
• {Networking, RichLink, CommFailures}
• {Networking, RichLink, CommFailures, TimeStamped, Speed}
DERIVATION:
GETTING THE META-MODEL
Given a configuration
• Merge the meta-model fragments of all modules (co-limit)
18
1= {Networking, SimpleLink,
NodeFailures, Ack}
MM1
BEHAVIOUR
Modules have sets of
• Standard rules
• -rules: add elements to standard or -rules
• NAC-rules: add negative application conditions to standard rules
19
Standard rule -rule NAC-rule
BEHAVIOUR
Modules have sets of
• Standard rules
• -rules: add elements to standard or -rules
• NAC-rules: add negative application conditions to standard rules
20
Standard rule -rule NAC-rule
{n1→n1, n2→n2}
{n→n1}
{n→n2}
BEHAVIOURAL DERIVATION
rule/NAC-rule application
Behavioural derivation:
• apply - and NAC-rules of selected modules
21
CONSISTENT
EXTENSIONS
Product lines made of
extensions preserve semantics
• For every application of the
extended rule, there is a
derivation of the original rule
22
Modular extensions
• - and NAC-rules only add
elements typed by the
module’s meta-model (and not
by the dependency’s meta-
model)
(more details in the paper)
TOOL SUPPORT
23
https://capone-pl.github.io/
Eclipse plugin, FeatureIDE, Henshin
EXPERIMENTS
24
Effort reduction w.r.t. explicit definition of each language variant
• Reduces specification size by 86% – 96.6%
• Reduces rule size 91.7% – 97.7%
Effort of adding a new feature?
• Meta-model of sizes 3 – 4 (vs. meta-model size 12 – 22 +
replicating the existing meta-models)
• Between 1 and 2 rules of sizes 3 – 6 (vs. 3 to 12 rules with sizes
between 7 and 14)
(results for rules omitted)
CONCLUSIONS AND
FUTURE WORK
Modular approach to define language families
• Considers abstract syntax and semantics
Analysis, tool support, experiments
Future Work
• Fine-granular analysis of (in-)consistency
• Effective testing techniques
• Consider richer meta-model notions (e.g., OCL)
• Modules with several dependencies
• Consider concrete syntax
25
https://capone-pl.github.io/
THANKS!
Juan.deLara@uam.es
@miso_uam

Contenu connexe

Similaire à Capone.pdf

How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
Tim Geisler
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
Piero Fraternali
 
03 the c language
03 the c language03 the c language
03 the c language
arafatmirza
 
Lesson5Introduction2QVT.pdf
Lesson5Introduction2QVT.pdfLesson5Introduction2QVT.pdf
Lesson5Introduction2QVT.pdf
cifoxo
 

Similaire à Capone.pdf (20)

How to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling EnvironmentHow to Create Your Own Product-Modeling Environment
How to Create Your Own Product-Modeling Environment
 
Agile MDD
Agile MDDAgile MDD
Agile MDD
 
DSL-maps
DSL-mapsDSL-maps
DSL-maps
 
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
ROS 2 AI Integration Working Group 1: ALMA, SustainML & ROS 2 use case
 
Testing Model Transformations
Testing Model TransformationsTesting Model Transformations
Testing Model Transformations
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
03 the c language
03 the c language03 the c language
03 the c language
 
Lesson5Introduction2QVT.pdf
Lesson5Introduction2QVT.pdfLesson5Introduction2QVT.pdf
Lesson5Introduction2QVT.pdf
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
keynote modelsward 2017
keynote modelsward 2017keynote modelsward 2017
keynote modelsward 2017
 
[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
Compeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxCompeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptx
 
ModelTalk - When Everything is a Domain Specific Language
ModelTalk - When Everything is a Domain Specific LanguageModelTalk - When Everything is a Domain Specific Language
ModelTalk - When Everything is a Domain Specific Language
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model Changes
 
IBM InterConnect 2015 - IIB Effective Application Development
IBM InterConnect 2015 - IIB Effective Application DevelopmentIBM InterConnect 2015 - IIB Effective Application Development
IBM InterConnect 2015 - IIB Effective Application Development
 
The Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFThe Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelF
 
Topcased
TopcasedTopcased
Topcased
 
Roman Kyslyi: Великі мовні моделі: огляд, виклики та рішення
Roman Kyslyi: Великі мовні моделі: огляд, виклики та рішенняRoman Kyslyi: Великі мовні моделі: огляд, виклики та рішення
Roman Kyslyi: Великі мовні моделі: огляд, виклики та рішення
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 

Plus de miso_uam

Plus de miso_uam (20)

Model-driven engineering for AR
Model-driven engineering for ARModel-driven engineering for AR
Model-driven engineering for AR
 
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
 
Miso-McGill
Miso-McGillMiso-McGill
Miso-McGill
 
Model Transformation Reuse
Model Transformation ReuseModel Transformation Reuse
Model Transformation Reuse
 
Miso
MisoMiso
Miso
 
DSLcomet
DSLcometDSLcomet
DSLcomet
 
SICOMORO
SICOMOROSICOMORO
SICOMORO
 
ReusingMT
ReusingMTReusingMT
ReusingMT
 
MDE-experiments
MDE-experimentsMDE-experiments
MDE-experiments
 
MODELSWARD 2017 Panel
MODELSWARD 2017 PanelMODELSWARD 2017 Panel
MODELSWARD 2017 Panel
 

Dernier

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
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Dernier (20)

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
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
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 🔝✔️✔️
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Capone.pdf

  • 1. MODULAR LANGUAGE PRODUCT LINES A GRAPH TRANSFORMATION APPROACH MODELS’2022, Montreal Juan de Lara1, Esther Guerra1, Paolo Bottoni2 1Universidad Autónoma de Madrid (Spain) 2Sapienza University of Rome (Italy)
  • 2. FROM DSLs TO DSL FAMILIES Modelling languages • Essential for engineering disciplines • Model-driven Engineering • Domain-specific Languages (DSLs) Does ONE language fit ALL? • Different users: education, low-code development Example: Class diagrams with different levels of sophistication • Different expressivity: modelling purpose, analyses Example: Petri nets with inhibitor, read arcs, time, colours • Different levels of precision: to support different project phases Example: From sketch-like diagrams to fully precise models Language families! 2
  • 3. EXAMPLE A DSL FAMILY FOR NETWORKING 3 Simple link with node failures and acks
  • 4. 4 Simple link with node failures and acks Rich links with communication failures EXAMPLE A DSL FAMILY FOR NETWORKING
  • 5. 5 Simple link with node failures and acks Rich links with communication failures Rich links with communication failures and time EXAMPLE A DSL FAMILY FOR NETWORKING
  • 6. HOW TO DEFINE A LANGUAGE FAMILY? Define each DSL separately (clone & own) • Meta-models and rules share commonalities • Adding a new feature (e.g., ad-hoc networks) doubles the family size Define just one “super-language” with all features • Language difficult to use for users • Unnecessary concepts • What about alternative elements (rich vs. simple links)? 6
  • 7. OUR GOAL A technique to define and manage DSL families that is • Succinct (much) less effort than specifying each language variant in isolation • Extensible Adding a new variant should be easy, leave existing variants unchanged Incremental language construction • Reusable Specifications of variants as reusable as possible to minimise effort and avoid duplications • Analysable Ensure the behaviour of its variants is compatible with the base behaviour of the language 7
  • 8. THE APPROACH 8 ... extension roles optional mandatory alternative or M (dependency) MM rule_i rule_i rulei M1 (extension) MM1 rule_i rule_i rulej Mn (extension) MMn rule_i rule_i rulek role of Mn in dependency inclusion of MMn in MM {C1→C3,...} {C1→C2,...} rule extension 1 2 3 1 2 3 Language product line Language modules • Meta-model • Transformation rules Module dependencies Module extensions • Extension roles • As in feature models
  • 9. LANGUAGE PRODUCT LINE EXAMPLE 9 Meta-model elements are identified by name
  • 10. 10 Meta-model elements are identified by name top module LANGUAGE PRODUCT LINE EXAMPLE
  • 11. 11 Meta-model elements are identified by name top module Cross-tree constraints LANGUAGE PRODUCT LINE EXAMPLE
  • 12. USING THE PRODUCT LINE: CONFIGURATIONS 12 A set of modules such that • All top modules are selected • If a module is selected, then the configuration needs selecting: 1. all mandatory extension modules 2. exactly one alternative extension modules 3. at least one OR extension module 4. its dependency • The cross-tree constraints evaluate to true
  • 15. CONFIGURATIONS EXAMPLE 15 Some configurations: • {Networking, SimpleLink} • {Networking, SimpleLink, NodeFailures, Ack}
  • 16. CONFIGURATIONS EXAMPLE 16 Some configurations: • {Networking, SimpleLink} • {Networking, SimpleLink, NodeFailures, Ack} • {Networking, RichLink, CommFailures}
  • 17. CONFIGURATIONS EXAMPLE 17 Some configurations: • {Networking, SimpleLink} • {Networking, SimpleLink, NodeFailures, Ack} • {Networking, RichLink, CommFailures} • {Networking, RichLink, CommFailures, TimeStamped, Speed}
  • 18. DERIVATION: GETTING THE META-MODEL Given a configuration • Merge the meta-model fragments of all modules (co-limit) 18 1= {Networking, SimpleLink, NodeFailures, Ack} MM1
  • 19. BEHAVIOUR Modules have sets of • Standard rules • -rules: add elements to standard or -rules • NAC-rules: add negative application conditions to standard rules 19 Standard rule -rule NAC-rule
  • 20. BEHAVIOUR Modules have sets of • Standard rules • -rules: add elements to standard or -rules • NAC-rules: add negative application conditions to standard rules 20 Standard rule -rule NAC-rule {n1→n1, n2→n2} {n→n1} {n→n2}
  • 21. BEHAVIOURAL DERIVATION rule/NAC-rule application Behavioural derivation: • apply - and NAC-rules of selected modules 21
  • 22. CONSISTENT EXTENSIONS Product lines made of extensions preserve semantics • For every application of the extended rule, there is a derivation of the original rule 22 Modular extensions • - and NAC-rules only add elements typed by the module’s meta-model (and not by the dependency’s meta- model) (more details in the paper)
  • 24. EXPERIMENTS 24 Effort reduction w.r.t. explicit definition of each language variant • Reduces specification size by 86% – 96.6% • Reduces rule size 91.7% – 97.7% Effort of adding a new feature? • Meta-model of sizes 3 – 4 (vs. meta-model size 12 – 22 + replicating the existing meta-models) • Between 1 and 2 rules of sizes 3 – 6 (vs. 3 to 12 rules with sizes between 7 and 14) (results for rules omitted)
  • 25. CONCLUSIONS AND FUTURE WORK Modular approach to define language families • Considers abstract syntax and semantics Analysis, tool support, experiments Future Work • Fine-granular analysis of (in-)consistency • Effective testing techniques • Consider richer meta-model notions (e.g., OCL) • Modules with several dependencies • Consider concrete syntax 25