%+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
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
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