webfml: synthesizing feature models everywhere (@ splc 2014)
DESCRIPTION
Feature Models (FMs) are the de-facto standard for documenting, model checking, and reasoning about the configurations of a software system. This paper introduces WebFML a comprehensive environment for synthesizing FMs from various kinds of artefacts (e.g. propositional formula, dependency graph, FMs or product comparison matrices). A key feature of WebFML is an interactive support (through ranking lists, clusters, and logical heuristics) for choosing a sound and meaningful hierarchy. WebFML opens avenues for numerous practical applications (e.g., merging multiple product lines, slicing a configuration process, reverse engineering configurable systems). tinyurl.com/WebFMLDemoTRANSCRIPT
![Page 1: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/1.jpg)
WebFML
Synthesizing Feature Models Everywhere
Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry
1
h:p://>nyurl.com/WebFMLDemo
![Page 2: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/2.jpg)
There are numerous artefacts that exhibit features and their dependencies.
Product Line
Modeling variability
2
φ
![Page 3: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/3.jpg)
Feature Models defacto standard for modeling variability
3
Feature Model = Feature Diagram + Proposi>onal Formula φ .
Configura@on Seman@cs
Set of valid configura@ons (set of selected features) of an FM.
Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships.
Features
parent feature 2 child features
root
![Page 4: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/4.jpg)
4
Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships.
Valid configura@on: {Wiki, Storage, License, Hos@ng, P.SQL, P.License, H.Service , Domain}
Hierarchy + Variability =
set of valid configura@ons
Feature Models defacto standard for modeling variability
![Page 5: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/5.jpg)
For a given configura@on set, many (maximal) feature diagrams with different ontological seman@cs [She et al. ICSE’11, Andersen et al. SPLC’12, Acher et al. VaMoS’13]
5
![Page 6: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/6.jpg)
For a given configura@on set, many (maximal) feature diagrams with different ontological seman@cs [She et al. ICSE’11, Andersen et al. SPLC’12, Acher et al. VaMoS’13]
6
![Page 7: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/7.jpg)
Importance of ontological seman@cs (1)
7
![Page 8: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/8.jpg)
Importance of ontological seman@cs (2)
8
![Page 9: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/9.jpg)
Importance of ontological seman@cs (3)
9
Communica>on Comprehension Forward engineering (e.g., genera>on)
![Page 10: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/10.jpg)
10 Two product configurators generated from two FMs with the same configura@on seman@cs
but different ontological seman@cs.
Good FM
Good configura@on interface
Bad FM
Bad configura@on interface
Importance of ontological seman@cs (4)
![Page 11: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/11.jpg)
Most of the exis@ng approaches neglect either configura@on or ontological seman@cs.
We want both!
11
φ
![Page 12: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/12.jpg)
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
12
![Page 13: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/13.jpg)
13
#0 Op@mum branching (Tarjan) weigh@ng edges
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 14: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/14.jpg)
14
#1 Ranking lists best parent candidates for each feature
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 15: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/15.jpg)
15
#2 Clusters ~possible siblings
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 16: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/16.jpg)
16
#3 Cliques ~bi-‐implica@ons
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 17: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/17.jpg)
17
#4 small BIG
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 18: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/18.jpg)
18
#4 reduced BIG incomplete but drama@cally reduce the problem
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
![Page 19: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/19.jpg)
Ontological Heuris@cs • For op>mum branching, compu>ng ranking lists and clusters – ~ « closedness » of features based on their names
• Syntac>cal heuris>cs – Smith-‐Waterman (SW) and Levenshtein (L)
• Wordnet – PathLength (PL) and Wu&Palmer (WP)
• Wikipedia Miner offers an API to browse Wikipedia's ar>cles and compute their relatedness – Wik>onary (Wikt)
19 Milne, D.N., Wigen, I.H.: An open-‐source toolkit for mining wikipedia. Ar@f. Intell. 194, 222{239 (2013)
40 GB!
![Page 20: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/20.jpg)
WebFML
20
![Page 21: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/21.jpg)
• Dataset – 120+ feature models of SPLOT – 30+ product comparison matrices from Wikipedia (see Becan et al. ASE’14 and ASE’13)
– Ground truths are known • Effec>veness of techniques (reduced BIG + ontological
heuris>cs) – One shot synthesis – Quality of the ranking lists (top 2), clusters – Comparison with randomized and exis>ng techniques
21
Support and Empirical Study (1) Goal: evidence and empirical insights of what heuris@cs are effec@ve and what support is needed in WebFML
![Page 22: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/22.jpg)
• Dataset – 120+ feature models of SPLOT – 30+ product comparison matrices from Wikipedia (see Becan et al. ASE’14 and ASE’13)
– Ground truths are known • Effec>veness of techniques (reduced BIG + ontological
heuris>cs) – One shot synthesis – Quality of the ranking lists (top 2), clusters – Comparison with randomized and exis>ng techniques
22
Support and Empirical Study (2) Default heuris@cs/support has been determined through an empirical study
![Page 23: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/23.jpg)
• One-‐step synthesis is far from the ground truth – despite state-‐of-‐the-‐art techniques we have developed – interac>ve support is thus crucial
• State-‐of-‐the-‐art heuris>cs for ranking lists and clusters
• Empirical insights on « cliques » and BIG reduc>on – e.g., support for unfolding of cliques
23
Support and Empirical Study (3) Default heuris@cs/support has been determined through an empirical study
![Page 24: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/24.jpg)
hgp://@nyurl.com/OntoFMExperiments
24 hgp://hal.inria.fr/hal-‐00874867
Support and Empirical Study (3)
![Page 25: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/25.jpg)
WebFML
25
![Page 26: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/26.jpg)
WebFML
26
![Page 27: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/27.jpg)
WebFML
27
![Page 28: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/28.jpg)
WebFML
28
![Page 29: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/29.jpg)
WebFML
29
![Page 30: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/30.jpg)
WebFML
30
![Page 31: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/31.jpg)
h:p://>nyurl.com/WebFMLDemo
31
![Page 32: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/32.jpg)
• WebFML for synthesizing feature models: – from various kinds of artefacts – sound and meaningful – interac>ve support – full automa>on is neither feasible nor desirable
• Tooling support is based on empirical studies
• WebFML opens avenues for – reverse engineering variability-‐intensive data/systems – refactoring/merging/slicing feature models
32
Conclusion
![Page 33: WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)](https://reader033.vdocuments.mx/reader033/viewer/2022052411/556ee6a7d8b42a5f2e8b53e7/html5/thumbnails/33.jpg)
FraSCAti
SCAParser
Java Compiler
JDK6 JDT
Optional
Mandatory
Alternative-Group
Or-Group
Assembly Factory
resthttp
Binding
MMFrascati
Component Factory
Metamodel
MMTuscany
constraints
rest requires MMFrascatihttp requires MMTuscany
FM1
Feature Model
Ontologies Knowledge
User
Heuris@cs
WebFML: Synthesizing Feature Models
33
Need a DEMO!
φ
h:p://>nyurl.com/WebFMLDemo