SLE 2019 MIP Award (SLE 2009) - Composing Feature Models

Philippe Collet
Philippe ColletFull Professor à Université Nice Sophia Antipolis
Composing Feature Models
Mathieu Acher0, Philippe Collet1, Philippe Lahire1, Robert France2
0 University of Rennes 1, IRISA/Inria (France)
1 University of Nice Sophia Antipolis (France),
2 Computer Science Department,
Colorado State University
1
2Mathieu Acher « Composing Feature Models »
3
Hierarchy + Variability
=
set of valid configurations
{CarEquipment, Comfort, DrivingAndSafety, Healthing, AirConditioning, FrontFogLights}
configuration = set of features selected
Optional
Mandatory
Xor-Group
Or-Group
Compositional support for scalable
feature models
4Mathieu Acher « Composing Feature Models »
16,000+
features
5
But what does it
mean to compose
feature models?
Requirements
insert merge
6SLE’09 « Composing Feature Models »
What?
Where?
How?
Augmenting the feature model?
Or only keeping the common parts?
Pure syntactic composition has unclear or unintended
configuration semantics
What does it mean to
merge feature models?
7SLE’09 « Composing Feature Models »
rigorous properties and rules for defining the
union or intersection of configuration sets
8
WAIT!
This is SLE…
Where is language
engineering?
We proposed neither a concrete syntax (CS), an abstract syntax
(AS), nor tools…
But Language = CS+AS+tools!
We actually formulated a problem:
Managing feature models in the large
– Requirements Gathering
– Composition operators are neither sufficient nor complete
– First steps towards a comprehensive domain-specific language
Software Language Engineering
9
IMPACT
language and environment
And-Group
Optional
Mandatory
Xor-Group
Or-Group
constraints
……..
DirectX
V10 V10.1 v11
Outputs
VIVO DVI HDMI
S-Video Composite
VGA
GraphicCard And-Group
Optional
Mandatory
Xor-Group
Or-Group
TV output
constraints
VGA excludes TV output
HDMI implies v10.1 or v11
constraints
……..
constraints
……..
constraints
……..
// foo.fml
fm1 = FM (“foo1.tvl”)
fm2 = FM (“foo2.m”)
fm3 = merge intersection { fm1 fm2 }
c3 = counting fm3
renameFeature fm3.TV as
“OutputTV”
fm5 = aggregate { fm3 FM
(“foo4.xml”) }
assert (isValid fm5)
fm6 = slice fm5 including fm5.TV.*
export fm6
True/False
8759
“OutputTV”, “TV”
Interoperability
Language facilities
Reasoning backend
BDD & SAT solvers
Xtext 1
based
Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale
management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013)
language and environment
And-Group
Optional
Mandatory
Xor-Group
Or-Group
constraints
……..
DirectX
V10 V10.1 v11
Outputs
VIVO DVI HDMI
S-Video Composite
VGA
GraphicCard And-Group
Optional
Mandatory
Xor-Group
Or-Group
TV output
constraints
VGA excludes TV output
HDMI implies v10.1 or v11
constraints
……..
constraints
……..
constraints
……..
// foo.fml
fm1 = FM (“foo1.tvl”)
fm2 = FM (“foo2.m”)
fm3 = merge intersection { fm1 fm2 }
c3 = counting fm3
renameFeature fm3.TV as
“OutputTV”
fm5 = aggregate { fm3 FM
(“foo4.xml”) }
assert (isValid fm5)
fm6 = slice fm5 including fm5.TV.*
export fm6
True/False
8759
“OutputTV”, “TV”
Interoperability
Language facilities
Reasoning backend
BDD & SAT solvers
Xtext 1
based
Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale
management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013)
REJECTED at SLE’2010
language and environment
And-Group
Optional
Mandatory
Xor-Group
Or-Group
constraints
……..
DirectX
V10 V10.1 v11
Outputs
VIVO DVI HDMI
S-Video Composite
VGA
GraphicCard And-Group
Optional
Mandatory
Xor-Group
Or-Group
TV output
constraints
VGA excludes TV output
HDMI implies v10.1 or v11
constraints
……..
constraints
……..
constraints
……..
// foo.fml
fm1 = FM (“foo1.tvl”)
fm2 = FM (“foo2.m”)
fm3 = merge intersection { fm1 fm2 }
c3 = counting fm3
renameFeature fm3.TV as
“OutputTV”
fm5 = aggregate { fm3 FM
(“foo4.xml”) }
assert (isValid fm5)
fm6 = slice fm5 including fm5.TV.*
export fm6
True/False
8759
“OutputTV”, “TV”
Interoperability
Language facilities
Reasoning backend
BDD & SAT solvers
Xtext 1
based
Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale
management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013)
REJECTED at SLE’2010
What reviewer#2 said: "Although rejected in Section 2.3, from my perspective,
a well designed library for a general purpose language such as JavaScript,
Ruby, or Scala would have been the better choice and could achieve a
similar domain-specific syntax with a similar programming-like feeling."
Mathieu Acher, Benoît Combemale, Philippe Collet: Metamorphic Domain-Specific Languages: A Journey into the Shapes of
a Language. Onward! 2014: 243-253
Mathieu Acher, Philippe Collet, Alban Gaignard, Philippe Lahire, Johan Montagnat, Robert B. France: Composing multiple
variability artifacts to assemble coherent workflows. Software Quality Journal 20(3-4): 689-734 (2012)
Simon Urli, Mireille Blay-Fornarino, Philippe Collet: Handling complex configurations in software product lines: a tooled
approach. SPLC 2014: 112-121
Why this paper might be
considered as influential?
13
Software
Language
Engineering
Model
Driven
Engineering
Software
Product Line
Engineering
Real SPL applications
– Scientific imaging workflows
– Video processing chains
– Digital signage systems
– Reverse Engineering
Software Product Line
Engineering
14
IMPACT
Simon Urli, Mireille Blay-Fornarino, Philippe Collet:
Handling complex configurations in software product lines: a tooled approach. SPLC 2014: 112-121
Real SPL applications
– Scientific imaging workflows
– Video processing chains
– Digital signage systems
– Reverse Engineering
Software Product Line
Engineering
15
IMPACT
Useful
Composition
multiple product linessystems of systems
context-awareness separation of concerns
Simon Urli, Mireille Blay-Fornarino, Philippe Collet:
Handling complex configurations in software product lines: a tooled approach. SPLC 2014: 112-121
Simon Urli, Mireille Blay-Fornarino, Philippe Collet, Sébastien Mosser, Michel Riveill: Managing a Software Ecosystem Using
a Multiple Software Product Line: A Case Study on Digital Signage Systems. EUROMICRO-SEAA 2014: 344-351
Mathieu Acher, Philippe Collet, Alban Gaignard, Philippe Lahire, Johan Montagnat, Robert B. France:
Composing multiple variability artifacts to assemble coherent workflows. Software Quality Journal 20(3-4): 689-734 (2012)
Mathieu Acher, Anthony Cleve, Gilles Perrouin, Patrick Heymans, Charles Vanbeneden, Philippe Collet, Philippe Lahire: On
extracting feature models from product descriptions. VaMoS 2012: 45-54
Software Product Line
Engineering
16
IMPACT
More than composition !
Feature Model
Differencing
Mathieu Acher, Patrick Heymans, Philippe Collet, Clément Quinton, Philippe Lahire, Philippe Merle:
Feature Model Differences. CAiSE 2012: 629-645
Feature Model
Slicing
Many works on FM interfaces,
contracts, views over parts of a SPL
Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: Slicing feature models. ASE 2011: 424-427
Julia Schroeter, Malte Lochau, Tim Winkelmann: Multi-perspectives on Feature Models. 252-268 MODELS 2012
Schröter, R., Krieter, S., Thüm, T., Benduhn, F., & Saake, G. (2016, May). Feature-model interfaces: the highway to
compositional analyses of highly-configurable systems. In 38th ICSE conference (pp. 667-678). ACM.
Krieter, S., Schröter, R., Thüm, T., Fenske, W., & Saake, G. (2016, September). Comparing algorithms for efficient feature-
model slicing. In 20th SPLC (pp. 60-64). ACM.
What does it mean to compose feature models?
– our answer: configuration semantics should be primarily
considered (w/ rigorous properties)
Into a more general challenge: How to automatically
realize semantics-aware model composition?
Model-Driven Engineering
17
IMPACT
Mathieu Acher, Benoît Combemale, Philippe Collet, Olivier Barais, Philippe Lahire, Robert B. France:
Composing Your Compositions of Variability Models. MoDELS 2013: 352-369
Andreas Classen, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay, Jean-François Raskin: Featured
Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking.
IEEE Trans. Software Eng. 39(8): 1069-1089 (2013)
Uli Fahrenberg, Axel Legay, Andrzej Wasowski: Vision Paper: Make a Difference! (Semantically). MoDELS 2011: 490-500
Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe: ADDiff: semantic differencing for activity diagrams. SIGSOFT FSE 2011:
Uli Fahrenberg, Mathieu Acher, Axel Legay, Andrzej Wasowski: Sound Merging and Differencing for Class Diagrams. FASE
2014: 63-78
Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe: CDDiff: Semantic Differencing for Class Diagrams. ECOOP 2011: 230-254
Tribute to Robert B. France (1960-2015)
Came with the Aspect-oriented
modeling (AOM) ultimate expertise
His recurring question:
“What does it mean to
compose feature models?”
He did not want to compose feature
models simply for the sake of
composing feature models (and
doing yet another AOM)
He challenged us on the semantics,
but also on the practical interest
18
We owe him rigorous composition properties, great thoughts on
automation and on the design of the FAMILIAR DSL, and, above all, so
many amazing moments together!
?
1 sur 18

Contenu connexe

Dernier(20)

En vedette(20)

ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani30.3K vues
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking6.9K vues
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago25.1K vues
9 Tips for a Work-free Vacation9 Tips for a Work-free Vacation
9 Tips for a Work-free Vacation
Weekdone.com7.2K vues
I Rock Therefore I Am. 20 Legendary Quotes from PrinceI Rock Therefore I Am. 20 Legendary Quotes from Prince
I Rock Therefore I Am. 20 Legendary Quotes from Prince
Empowered Presentations142.8K vues
How to Map Your FutureHow to Map Your Future
How to Map Your Future
SlideShop.com275.1K vues
Read with Pride | LGBTQ+ ReadsRead with Pride | LGBTQ+ Reads
Read with Pride | LGBTQ+ Reads
Kayla Martin-Gant1.1K vues
The Student's Guide to LinkedInThe Student's Guide to LinkedIn
The Student's Guide to LinkedIn
LinkedIn87.9K vues

SLE 2019 MIP Award (SLE 2009) - Composing Feature Models

  • 1. Composing Feature Models Mathieu Acher0, Philippe Collet1, Philippe Lahire1, Robert France2 0 University of Rennes 1, IRISA/Inria (France) 1 University of Nice Sophia Antipolis (France), 2 Computer Science Department, Colorado State University 1
  • 2. 2Mathieu Acher « Composing Feature Models »
  • 3. 3 Hierarchy + Variability = set of valid configurations {CarEquipment, Comfort, DrivingAndSafety, Healthing, AirConditioning, FrontFogLights} configuration = set of features selected Optional Mandatory Xor-Group Or-Group
  • 4. Compositional support for scalable feature models 4Mathieu Acher « Composing Feature Models » 16,000+ features
  • 5. 5 But what does it mean to compose feature models?
  • 6. Requirements insert merge 6SLE’09 « Composing Feature Models » What? Where? How?
  • 7. Augmenting the feature model? Or only keeping the common parts? Pure syntactic composition has unclear or unintended configuration semantics What does it mean to merge feature models? 7SLE’09 « Composing Feature Models » rigorous properties and rules for defining the union or intersection of configuration sets
  • 8. 8 WAIT! This is SLE… Where is language engineering?
  • 9. We proposed neither a concrete syntax (CS), an abstract syntax (AS), nor tools… But Language = CS+AS+tools! We actually formulated a problem: Managing feature models in the large – Requirements Gathering – Composition operators are neither sufficient nor complete – First steps towards a comprehensive domain-specific language Software Language Engineering 9 IMPACT
  • 10. language and environment And-Group Optional Mandatory Xor-Group Or-Group constraints …….. DirectX V10 V10.1 v11 Outputs VIVO DVI HDMI S-Video Composite VGA GraphicCard And-Group Optional Mandatory Xor-Group Or-Group TV output constraints VGA excludes TV output HDMI implies v10.1 or v11 constraints …….. constraints …….. constraints …….. // foo.fml fm1 = FM (“foo1.tvl”) fm2 = FM (“foo2.m”) fm3 = merge intersection { fm1 fm2 } c3 = counting fm3 renameFeature fm3.TV as “OutputTV” fm5 = aggregate { fm3 FM (“foo4.xml”) } assert (isValid fm5) fm6 = slice fm5 including fm5.TV.* export fm6 True/False 8759 “OutputTV”, “TV” Interoperability Language facilities Reasoning backend BDD & SAT solvers Xtext 1 based Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013)
  • 11. language and environment And-Group Optional Mandatory Xor-Group Or-Group constraints …….. DirectX V10 V10.1 v11 Outputs VIVO DVI HDMI S-Video Composite VGA GraphicCard And-Group Optional Mandatory Xor-Group Or-Group TV output constraints VGA excludes TV output HDMI implies v10.1 or v11 constraints …….. constraints …….. constraints …….. // foo.fml fm1 = FM (“foo1.tvl”) fm2 = FM (“foo2.m”) fm3 = merge intersection { fm1 fm2 } c3 = counting fm3 renameFeature fm3.TV as “OutputTV” fm5 = aggregate { fm3 FM (“foo4.xml”) } assert (isValid fm5) fm6 = slice fm5 including fm5.TV.* export fm6 True/False 8759 “OutputTV”, “TV” Interoperability Language facilities Reasoning backend BDD & SAT solvers Xtext 1 based Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013) REJECTED at SLE’2010
  • 12. language and environment And-Group Optional Mandatory Xor-Group Or-Group constraints …….. DirectX V10 V10.1 v11 Outputs VIVO DVI HDMI S-Video Composite VGA GraphicCard And-Group Optional Mandatory Xor-Group Or-Group TV output constraints VGA excludes TV output HDMI implies v10.1 or v11 constraints …….. constraints …….. constraints …….. // foo.fml fm1 = FM (“foo1.tvl”) fm2 = FM (“foo2.m”) fm3 = merge intersection { fm1 fm2 } c3 = counting fm3 renameFeature fm3.TV as “OutputTV” fm5 = aggregate { fm3 FM (“foo4.xml”) } assert (isValid fm5) fm6 = slice fm5 including fm5.TV.* export fm6 True/False 8759 “OutputTV”, “TV” Interoperability Language facilities Reasoning backend BDD & SAT solvers Xtext 1 based Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: FAMILIAR: A domain-specific language for large scale management of feature models. Sci. Comput. Program. 78(6): 657-681 (2013) REJECTED at SLE’2010 What reviewer#2 said: "Although rejected in Section 2.3, from my perspective, a well designed library for a general purpose language such as JavaScript, Ruby, or Scala would have been the better choice and could achieve a similar domain-specific syntax with a similar programming-like feeling." Mathieu Acher, Benoît Combemale, Philippe Collet: Metamorphic Domain-Specific Languages: A Journey into the Shapes of a Language. Onward! 2014: 243-253 Mathieu Acher, Philippe Collet, Alban Gaignard, Philippe Lahire, Johan Montagnat, Robert B. France: Composing multiple variability artifacts to assemble coherent workflows. Software Quality Journal 20(3-4): 689-734 (2012) Simon Urli, Mireille Blay-Fornarino, Philippe Collet: Handling complex configurations in software product lines: a tooled approach. SPLC 2014: 112-121
  • 13. Why this paper might be considered as influential? 13 Software Language Engineering Model Driven Engineering Software Product Line Engineering
  • 14. Real SPL applications – Scientific imaging workflows – Video processing chains – Digital signage systems – Reverse Engineering Software Product Line Engineering 14 IMPACT Simon Urli, Mireille Blay-Fornarino, Philippe Collet: Handling complex configurations in software product lines: a tooled approach. SPLC 2014: 112-121
  • 15. Real SPL applications – Scientific imaging workflows – Video processing chains – Digital signage systems – Reverse Engineering Software Product Line Engineering 15 IMPACT Useful Composition multiple product linessystems of systems context-awareness separation of concerns Simon Urli, Mireille Blay-Fornarino, Philippe Collet: Handling complex configurations in software product lines: a tooled approach. SPLC 2014: 112-121 Simon Urli, Mireille Blay-Fornarino, Philippe Collet, Sébastien Mosser, Michel Riveill: Managing a Software Ecosystem Using a Multiple Software Product Line: A Case Study on Digital Signage Systems. EUROMICRO-SEAA 2014: 344-351 Mathieu Acher, Philippe Collet, Alban Gaignard, Philippe Lahire, Johan Montagnat, Robert B. France: Composing multiple variability artifacts to assemble coherent workflows. Software Quality Journal 20(3-4): 689-734 (2012) Mathieu Acher, Anthony Cleve, Gilles Perrouin, Patrick Heymans, Charles Vanbeneden, Philippe Collet, Philippe Lahire: On extracting feature models from product descriptions. VaMoS 2012: 45-54
  • 16. Software Product Line Engineering 16 IMPACT More than composition ! Feature Model Differencing Mathieu Acher, Patrick Heymans, Philippe Collet, Clément Quinton, Philippe Lahire, Philippe Merle: Feature Model Differences. CAiSE 2012: 629-645 Feature Model Slicing Many works on FM interfaces, contracts, views over parts of a SPL Mathieu Acher, Philippe Collet, Philippe Lahire, Robert B. France: Slicing feature models. ASE 2011: 424-427 Julia Schroeter, Malte Lochau, Tim Winkelmann: Multi-perspectives on Feature Models. 252-268 MODELS 2012 Schröter, R., Krieter, S., Thüm, T., Benduhn, F., & Saake, G. (2016, May). Feature-model interfaces: the highway to compositional analyses of highly-configurable systems. In 38th ICSE conference (pp. 667-678). ACM. Krieter, S., Schröter, R., Thüm, T., Fenske, W., & Saake, G. (2016, September). Comparing algorithms for efficient feature- model slicing. In 20th SPLC (pp. 60-64). ACM.
  • 17. What does it mean to compose feature models? – our answer: configuration semantics should be primarily considered (w/ rigorous properties) Into a more general challenge: How to automatically realize semantics-aware model composition? Model-Driven Engineering 17 IMPACT Mathieu Acher, Benoît Combemale, Philippe Collet, Olivier Barais, Philippe Lahire, Robert B. France: Composing Your Compositions of Variability Models. MoDELS 2013: 352-369 Andreas Classen, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay, Jean-François Raskin: Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking. IEEE Trans. Software Eng. 39(8): 1069-1089 (2013) Uli Fahrenberg, Axel Legay, Andrzej Wasowski: Vision Paper: Make a Difference! (Semantically). MoDELS 2011: 490-500 Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe: ADDiff: semantic differencing for activity diagrams. SIGSOFT FSE 2011: Uli Fahrenberg, Mathieu Acher, Axel Legay, Andrzej Wasowski: Sound Merging and Differencing for Class Diagrams. FASE 2014: 63-78 Shahar Maoz, Jan Oliver Ringert, Bernhard Rumpe: CDDiff: Semantic Differencing for Class Diagrams. ECOOP 2011: 230-254
  • 18. Tribute to Robert B. France (1960-2015) Came with the Aspect-oriented modeling (AOM) ultimate expertise His recurring question: “What does it mean to compose feature models?” He did not want to compose feature models simply for the sake of composing feature models (and doing yet another AOM) He challenged us on the semantics, but also on the practical interest 18 We owe him rigorous composition properties, great thoughts on automation and on the design of the FAMILIAR DSL, and, above all, so many amazing moments together! ?