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
WebFML
Synthesizing Feature Models Everywhere
Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry
1
h:p://>nyurl.com/WebFMLDemo
There are numerous artefacts that exhibit features and their dependencies.
Product Line
Modeling variability
2
φ
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
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
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
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
Importance of ontological seman@cs (1)
7
Importance of ontological seman@cs (2)
8
Importance of ontological seman@cs (3)
9
Communica>on Comprehension Forward engineering (e.g., genera>on)
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)
Most of the exis@ng approaches neglect either configura@on or ontological seman@cs.
We want both!
11
φ
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
12
13
#0 Op@mum branching (Tarjan) weigh@ng edges
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
14
#1 Ranking lists best parent candidates for each feature
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
15
#2 Clusters ~possible siblings
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
16
#3 Cliques ~bi-‐implica@ons
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
17
#4 small BIG
Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG)
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)
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!
WebFML
20
• 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
• 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
• 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
hgp://@nyurl.com/OntoFMExperiments
24 hgp://hal.inria.fr/hal-‐00874867
Support and Empirical Study (3)
WebFML
25
WebFML
26
WebFML
27
WebFML
28
WebFML
29
WebFML
30
h:p://>nyurl.com/WebFMLDemo
31
• 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
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