SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
Variability Management in Domain-Specific Languages
David Méndez-Acuña
Doctoral Symposium
ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems
Benoît Combemale (Co-Advisor)
Benoît Baudry (Co-Advisor)
Research Context

Domain-Specific Languages and Multi-Companies
DSLs
2
DSLs
“From aerospace, space and defense to security and transportation, Thales helps its customers
to create a safer world by giving them the tools they need to perform critical tasks.”
http://www.thalesgroup.com
Research Context

Domain-Specific Languages and Multi-Companies
3
Domain Experts
Final Syste
Code generation
DSL
Domain Experts
Code generation
DSL
Domain Experts
Code generation
DSL
Research Context

Observations [1]
1
2
3
… n
4
Research Context

Observations [2]
Domain Experts
Final Syste
Code generation
DSL
Domain Experts
Code generation
DSL
Domain Experts
Code generation
DSL
Similar DSLs
[Commonalities + particularities]
= Families of Languages
5
UML state machines
diagrams
Rhapsody
Classical
statecharts
States and simple transitions (triggers,
conditions, etc.)
Example: A family of languages for Finite
State Machines
A B
event[condition]
Academic example:
Crane, M., Dingel, J., UML vs. classical vs. Rhapsody
statecharts: not all models are created equal.
Software & Systems Modeling. Vol. 6 No. 4. Springer-
Verlag 2007.
Semantic and syntactic variation
points in languages for FSM
Research Context

Family of Languages for Finite State Machines
6
UML state machines
diagrams
Rhapsody
Classical
statecharts
Timed Transitions
Example: A family of languages for Finite
State Machines
A B
event[condition] : time(ms)
Academic example:
Crane, M., Dingel, J., UML vs. classical vs. Rhapsody
statecharts: not all models are created equal.
Software & Systems Modeling. Vol. 6 No. 4. Springer-
Verlag 2007.
Semantic and syntactic variation
points in languages for FSM
Research Context

Family of Languages for Finite State Machines
7
UML state machines
diagrams Rhapsody
Classical
statecharts
Problem Statement

Isolated Software Development Processes
10
Example: A family of languages for Finite State Machines
Proposed Approach

From Families of Languages to Language Product Lines
Family of Languages
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Language Product Line
Software Languages are Software too!
Software Engineering Techniques … Software Product Lines Engineering
Méndez-Acuña’s
PhD
Jean-Marie Favre, Dragan Gasevic, Ralf Lmmel, and Ekaterina Pek. Empirical Language Analysis in Software
Linguistics. In Software Language Engineering. Springer. 2011
Steffen Zschaler, Pablo Sánchez, Joo Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira,
Joo Arajo, and Uir Kulesza. VML* A Family of Languages for Variability Management in Software
Product Lines. In Software Language Engineering. Springer. 2010.
11
Research Challenges

From Families of Languages to Language Product Lines
Family of DSLs
Objective: REUSE
12
Language Units
Family of DSLs
Modular Languages
Design
(1)
Research Challenges

From Families of Languages to Language Product Lines
13
Language Units
Family of DSLs
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Modular Languages
Design
(1)
Multi-dimensional & staged
variability modeling
(2)
Research Challenges

From Families of Languages to Language Product Lines
14
Language Units
Family of DSLs
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Multi-dimensional & staged
variability modeling
(2)
Configured
DSL
Language Units
Composition
(3)
Modular Languages
Design
(1)
Research Challenges

From Families of Languages to Language Product Lines
15
Semantics
MontiCore,
LISA, Neverlang
Grump,
Modularized Xtext
Attribute Grammars
Abstract
Syntax
Concrete
Syntax
Related Work

(1) Modular Languages Design & (2) Composition
16
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Languages-specific variability modeling
General variability modeling
Related Work
(3) Multi-dimensional & staged variability modeling
Marko Rosenmüller, Norbert Siegmund, Thomas Thüm, and Gunter Saake. 2011.
Multi-dimensional variability modeling. In Proceedings of the 5th Workshop on
Variability Modeling of Software-Intensive Systems (VaMoS '11)
María Victoria Cengarle, Hans Grönniger, Bernhard
Rumpe. 2009. Variability within Modeling Language
Definitions. In Proc of International Conference in
Model Driven Engineering Languages and Systems.
Models.
17
MontiCore + Variability Modeling. Cengarle, et al.
Related Work
Identified Coopetitors
NeverLang + Variability Modeling: Vaccchi et. Al.
Families of Domain-Specific Languages: Liebig et. al.
Families of Domain-Specific Languages + Roles: Wende et. al.
María Victoria Cengarle, Hans Grönniger, Bernhard Rumpe. 2009. Variability within Modeling
Language Definitions. In Proc of International Conference in Model Driven Engineering Languages
and Systems. Models.
Edoardo Vacchi, Walter Cazzola, Suresh Pillay, Benoît Combemale. 2013. Variability Support in
Domain-Specific Language Development. In Proc of Software Language Engineering. Springer.
Jörg Liebig, Rolf Daniel, and Sven Apel. 2013. Feature-oriented language families: a case study. In
Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive
Systems (VaMoS '13)
Christian Wende, Nils Thieme, Steffen Zschaler. A Role-Based Approach towards Modular
Language Engineering. In Proc. Of Software Language Engineering. 2010
18
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Family of DSLs
Configured
DSL
Direct dependencies between artifacts
Modular Languages
Design
(1)
Language
Unit A
Language
Unit A
Language
Unit A
Language
Unit B
Language
Unit B
Language
Unit B
19
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Family of DSLs
Configured
DSL
Direct dependencies between artifacts
Modular Languages
Design
(1)
Language
Unit A
Language
Unit A
Language
Unit B
Language
Unit B
Language
Unit B
Language
Unit B
Language
Unit B
Language
Unit B’
Language
Unit A
?
20
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Family of DSLs
Configured
DSL
Direct dependencies between artifacts
Modular Languages
Design
(1)
Language
Unit A
Language
Unit A
Language
Unit A
Language
Unit B
Language
Unit B
Language
Unit B
?
21
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Family of DSLs
Configured
DSL
Direct dependencies between artifacts
Language
Unit A
Language
Unit B
Modular Languages
Design
(1)
Language
Unit A
Language
Unit A
Language
Unit B
Language
Unit B
Christian Wende, Nils Thieme,
Steffen Zschaler. A Role-Based
Approach towards Modular
Language Engineering. In
Proc. Of Software Language
Engineering. 2010
22
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Family of DSLs
Configured
DSL
Language Interfaces
Required vs.
Provided interfaces
Modular Languages
Design
(1)
Language
Unit A
Language
Unit B
Language
Unit A
Language
Unit A
Language
Unit B
Language
Unit B
23
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Multi-dimensional & staged
variability modeling
(2)
Concrete S.
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Abstract S.
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Semantics
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Family
Dependences? Dependences?
24
Limitations & Contributions

From Families of DSLs to Language Product Lines
Language Units
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Multi-dimensional & staged
variability modeling
(2)
Concrete S.
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Abstract S.
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Semantics
Feature A Feature B
F. D F. D F. D F. D F. D F. D
Family
Implies Implies
Formalization!
25
Limitations & Contributions

From Families of DSLs to Language Product Lines
Family of DSLs
Variability Models &
Configuration
Feature A
Feature B Feature B
F. D F. D F. D F. D F. D F. D
Configured
DSL
Language Composition Strategies &
Operators
Language Units
Composition
(3)
26
Current status and planned time-line
27
Open Questions
Formal definition of the concept of “FAMILY OF LANGUAGES”
Family of DSLs Family of DSLs?
28
Open Questions
How to achieve interoperability between language units?
29

Contenu connexe

Tendances

Dsl overview
Dsl overviewDsl overview
Dsl overview
ClarkTony
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
Krishna Sai
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3
Akshay Nagpurkar
 
Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language Design
Markus Voelter
 

Tendances (18)

TOOLS USA01.ppt
TOOLS USA01.pptTOOLS USA01.ppt
TOOLS USA01.ppt
 
Principles of programming languages. Detail notes
Principles of programming languages. Detail notesPrinciples of programming languages. Detail notes
Principles of programming languages. Detail notes
 
Meta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applicationsMeta-modeling: concepts, tools and applications
Meta-modeling: concepts, tools and applications
 
The Impact of Software Engineering Research on Modern Programming Languages
The Impact of Software Engineering Research on Modern Programming LanguagesThe Impact of Software Engineering Research on Modern Programming Languages
The Impact of Software Engineering Research on Modern Programming Languages
 
Dsl overview
Dsl overviewDsl overview
Dsl overview
 
Execution Framework of the GEMOC Studio
Execution Framework of the GEMOC StudioExecution Framework of the GEMOC Studio
Execution Framework of the GEMOC Studio
 
The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)The Behavioral Coordination Operator Language (BCOoL)
The Behavioral Coordination Operator Language (BCOoL)
 
Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-Principles of-programming-languages-lecture-notes-
Principles of-programming-languages-lecture-notes-
 
Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3Ppl for students unit 1,2 and 3
Ppl for students unit 1,2 and 3
 
Principles of programming
Principles of programmingPrinciples of programming
Principles of programming
 
Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language Design
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
Paradigms
ParadigmsParadigms
Paradigms
 
Generic Programming
Generic ProgrammingGeneric Programming
Generic Programming
 
Domain Specific Language with pleasure
Domain Specific Language with pleasureDomain Specific Language with pleasure
Domain Specific Language with pleasure
 
GPSS interactive learning environment
GPSS interactive learning environmentGPSS interactive learning environment
GPSS interactive learning environment
 
Imperative programming
Imperative programmingImperative programming
Imperative programming
 
Can programming be liberated from the von neumman style
Can programming be liberated from the von neumman styleCan programming be liberated from the von neumman style
Can programming be liberated from the von neumman style
 

En vedette

2016 WiLL Application blank
2016 WiLL Application blank2016 WiLL Application blank
2016 WiLL Application blank
Belinda Brown
 

En vedette (10)

Composing Feature Models
Composing Feature ModelsComposing Feature Models
Composing Feature Models
 
Gadfly
GadflyGadfly
Gadfly
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model Changes
 
Sindrome de-turner1
Sindrome de-turner1Sindrome de-turner1
Sindrome de-turner1
 
Socorro deus psrt 5
Socorro deus psrt 5Socorro deus psrt 5
Socorro deus psrt 5
 
intern paper athletics
intern paper athleticsintern paper athletics
intern paper athletics
 
com cah exec memo
com cah exec memocom cah exec memo
com cah exec memo
 
2016 WiLL Application blank
2016 WiLL Application blank2016 WiLL Application blank
2016 WiLL Application blank
 
Rh newsletter print final for print ls 2 2 16
Rh newsletter print final for print ls 2 2 16Rh newsletter print final for print ls 2 2 16
Rh newsletter print final for print ls 2 2 16
 
Actividad integradora semana 2 - Un suceso historico
Actividad integradora semana 2 -  Un suceso historicoActividad integradora semana 2 -  Un suceso historico
Actividad integradora semana 2 - Un suceso historico
 

Similaire à Variability Management in Domain Specific Languages

A study of variability models and languages in the systems software domain
A study of variability models and languages in the systems software domainA study of variability models and languages in the systems software domain
A study of variability models and languages in the systems software domain
gagnertechnologies
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl Design
Sven Efftinge
 
02 c a306-phillips_langtags
02 c a306-phillips_langtags02 c a306-phillips_langtags
02 c a306-phillips_langtags
suvo1111
 
Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
Oopsla 2008 Panel Ds Ls The Good The Bad And The UglyOopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
OOPSLA2008
 

Similaire à Variability Management in Domain Specific Languages (20)

Modular Language Composition for the Masses
Modular Language Composition for the MassesModular Language Composition for the Masses
Modular Language Composition for the Masses
 
From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)From MDE to SLE (April 17th, 2015)
From MDE to SLE (April 17th, 2015)
 
GroovyDSLs
GroovyDSLsGroovyDSLs
GroovyDSLs
 
Towards Language-Oriented Modeling (HDR Defense)
Towards Language-Oriented Modeling (HDR Defense)Towards Language-Oriented Modeling (HDR Defense)
Towards Language-Oriented Modeling (HDR Defense)
 
A study of variability models and languages in the systems software domain
A study of variability models and languages in the systems software domainA study of variability models and languages in the systems software domain
A study of variability models and languages in the systems software domain
 
Glis Localization Internationalization 05 20071030
Glis Localization Internationalization 05 20071030Glis Localization Internationalization 05 20071030
Glis Localization Internationalization 05 20071030
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Static analysis of textual models
Static analysis of textual modelsStatic analysis of textual models
Static analysis of textual models
 
groovy DSLs from beginner to expert
groovy DSLs from beginner to expertgroovy DSLs from beginner to expert
groovy DSLs from beginner to expert
 
Towards a mnemonic classification of software languages
Towards a mnemonic classification of software languagesTowards a mnemonic classification of software languages
Towards a mnemonic classification of software languages
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl Design
 
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
ESR11 Hoang Cuong - EXPERT Summer School - Malaga 2015
 
MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
 
Domain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software DevelopmentDomain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software Development
 
Language Engineering With Xtext
Language Engineering With XtextLanguage Engineering With Xtext
Language Engineering With Xtext
 
02 c a306-phillips_langtags
02 c a306-phillips_langtags02 c a306-phillips_langtags
02 c a306-phillips_langtags
 
8505548.ppt
8505548.ppt8505548.ppt
8505548.ppt
 
Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
Oopsla 2008 Panel Ds Ls The Good The Bad And The UglyOopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly
 
DDD - What, why, how?
DDD - What, why, how?DDD - What, why, how?
DDD - What, why, how?
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
 

Dernier

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Dernier (20)

%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 

Variability Management in Domain Specific Languages

  • 1. Variability Management in Domain-Specific Languages David Méndez-Acuña Doctoral Symposium ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems Benoît Combemale (Co-Advisor) Benoît Baudry (Co-Advisor)
  • 3. DSLs “From aerospace, space and defense to security and transportation, Thales helps its customers to create a safer world by giving them the tools they need to perform critical tasks.” http://www.thalesgroup.com Research Context
 Domain-Specific Languages and Multi-Companies 3
  • 4. Domain Experts Final Syste Code generation DSL Domain Experts Code generation DSL Domain Experts Code generation DSL Research Context
 Observations [1] 1 2 3 … n 4
  • 5. Research Context
 Observations [2] Domain Experts Final Syste Code generation DSL Domain Experts Code generation DSL Domain Experts Code generation DSL Similar DSLs [Commonalities + particularities] = Families of Languages 5
  • 6. UML state machines diagrams Rhapsody Classical statecharts States and simple transitions (triggers, conditions, etc.) Example: A family of languages for Finite State Machines A B event[condition] Academic example: Crane, M., Dingel, J., UML vs. classical vs. Rhapsody statecharts: not all models are created equal. Software & Systems Modeling. Vol. 6 No. 4. Springer- Verlag 2007. Semantic and syntactic variation points in languages for FSM Research Context
 Family of Languages for Finite State Machines 6
  • 7. UML state machines diagrams Rhapsody Classical statecharts Timed Transitions Example: A family of languages for Finite State Machines A B event[condition] : time(ms) Academic example: Crane, M., Dingel, J., UML vs. classical vs. Rhapsody statecharts: not all models are created equal. Software & Systems Modeling. Vol. 6 No. 4. Springer- Verlag 2007. Semantic and syntactic variation points in languages for FSM Research Context
 Family of Languages for Finite State Machines 7
  • 8. UML state machines diagrams Rhapsody Classical statecharts Problem Statement
 Isolated Software Development Processes 10
  • 9. Example: A family of languages for Finite State Machines Proposed Approach
 From Families of Languages to Language Product Lines Family of Languages Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Language Product Line Software Languages are Software too! Software Engineering Techniques … Software Product Lines Engineering Méndez-Acuña’s PhD Jean-Marie Favre, Dragan Gasevic, Ralf Lmmel, and Ekaterina Pek. Empirical Language Analysis in Software Linguistics. In Software Language Engineering. Springer. 2011 Steffen Zschaler, Pablo Sánchez, Joo Santos, Mauricio Alférez, Awais Rashid, Lidia Fuentes, Ana Moreira, Joo Arajo, and Uir Kulesza. VML* A Family of Languages for Variability Management in Software Product Lines. In Software Language Engineering. Springer. 2010. 11
  • 10. Research Challenges
 From Families of Languages to Language Product Lines Family of DSLs Objective: REUSE 12
  • 11. Language Units Family of DSLs Modular Languages Design (1) Research Challenges
 From Families of Languages to Language Product Lines 13
  • 12. Language Units Family of DSLs Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Modular Languages Design (1) Multi-dimensional & staged variability modeling (2) Research Challenges
 From Families of Languages to Language Product Lines 14
  • 13. Language Units Family of DSLs Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Multi-dimensional & staged variability modeling (2) Configured DSL Language Units Composition (3) Modular Languages Design (1) Research Challenges
 From Families of Languages to Language Product Lines 15
  • 14. Semantics MontiCore, LISA, Neverlang Grump, Modularized Xtext Attribute Grammars Abstract Syntax Concrete Syntax Related Work
 (1) Modular Languages Design & (2) Composition 16
  • 15. Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Languages-specific variability modeling General variability modeling Related Work (3) Multi-dimensional & staged variability modeling Marko Rosenmüller, Norbert Siegmund, Thomas Thüm, and Gunter Saake. 2011. Multi-dimensional variability modeling. In Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems (VaMoS '11) María Victoria Cengarle, Hans Grönniger, Bernhard Rumpe. 2009. Variability within Modeling Language Definitions. In Proc of International Conference in Model Driven Engineering Languages and Systems. Models. 17
  • 16. MontiCore + Variability Modeling. Cengarle, et al. Related Work Identified Coopetitors NeverLang + Variability Modeling: Vaccchi et. Al. Families of Domain-Specific Languages: Liebig et. al. Families of Domain-Specific Languages + Roles: Wende et. al. María Victoria Cengarle, Hans Grönniger, Bernhard Rumpe. 2009. Variability within Modeling Language Definitions. In Proc of International Conference in Model Driven Engineering Languages and Systems. Models. Edoardo Vacchi, Walter Cazzola, Suresh Pillay, Benoît Combemale. 2013. Variability Support in Domain-Specific Language Development. In Proc of Software Language Engineering. Springer. Jörg Liebig, Rolf Daniel, and Sven Apel. 2013. Feature-oriented language families: a case study. In Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems (VaMoS '13) Christian Wende, Nils Thieme, Steffen Zschaler. A Role-Based Approach towards Modular Language Engineering. In Proc. Of Software Language Engineering. 2010 18
  • 17. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Family of DSLs Configured DSL Direct dependencies between artifacts Modular Languages Design (1) Language Unit A Language Unit A Language Unit A Language Unit B Language Unit B Language Unit B 19
  • 18. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Family of DSLs Configured DSL Direct dependencies between artifacts Modular Languages Design (1) Language Unit A Language Unit A Language Unit B Language Unit B Language Unit B Language Unit B Language Unit B Language Unit B’ Language Unit A ? 20
  • 19. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Family of DSLs Configured DSL Direct dependencies between artifacts Modular Languages Design (1) Language Unit A Language Unit A Language Unit A Language Unit B Language Unit B Language Unit B ? 21
  • 20. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Family of DSLs Configured DSL Direct dependencies between artifacts Language Unit A Language Unit B Modular Languages Design (1) Language Unit A Language Unit A Language Unit B Language Unit B Christian Wende, Nils Thieme, Steffen Zschaler. A Role-Based Approach towards Modular Language Engineering. In Proc. Of Software Language Engineering. 2010 22
  • 21. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Family of DSLs Configured DSL Language Interfaces Required vs. Provided interfaces Modular Languages Design (1) Language Unit A Language Unit B Language Unit A Language Unit A Language Unit B Language Unit B 23
  • 22. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Multi-dimensional & staged variability modeling (2) Concrete S. Feature A Feature B F. D F. D F. D F. D F. D F. D Abstract S. Feature A Feature B F. D F. D F. D F. D F. D F. D Semantics Feature A Feature B F. D F. D F. D F. D F. D F. D Family Dependences? Dependences? 24
  • 23. Limitations & Contributions
 From Families of DSLs to Language Product Lines Language Units Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Multi-dimensional & staged variability modeling (2) Concrete S. Feature A Feature B F. D F. D F. D F. D F. D F. D Abstract S. Feature A Feature B F. D F. D F. D F. D F. D F. D Semantics Feature A Feature B F. D F. D F. D F. D F. D F. D Family Implies Implies Formalization! 25
  • 24. Limitations & Contributions
 From Families of DSLs to Language Product Lines Family of DSLs Variability Models & Configuration Feature A Feature B Feature B F. D F. D F. D F. D F. D F. D Configured DSL Language Composition Strategies & Operators Language Units Composition (3) 26
  • 25. Current status and planned time-line 27
  • 26. Open Questions Formal definition of the concept of “FAMILY OF LANGUAGES” Family of DSLs Family of DSLs? 28
  • 27. Open Questions How to achieve interoperability between language units? 29