WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

909 views

Published on

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/WebFMLDemo

Published in: Engineering
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
909
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

WebFML: Synthesizing Feature Models Everywhere (@ SPLC 2014)

  1. 1. WebFML Synthesizing Feature Models Everywhere Guillaume Bécan, Sana Ben Nasr, Mathieu Acher and Benoit Baudry 1 h:p://>nyurl.com/WebFMLDemo
  2. 2. There are numerous artefacts that exhibit features and their dependencies. Product Line Modeling variability 2 φ
  3. 3. 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. 4. 4 Feature Models defacto standard for modeling variability Valid configura@on: {Wiki, Storage, License, Hos@ng, P.SQL, P.License, H.Service , Ontological Seman@cs Hierarchy and feature groups of an FM. Define the seman@cs of the features’ rela@onships. Domain} Hierarchy + Variability = set of valid configura@ons
  5. 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] 5
  6. 6. 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
  7. 7. Importance of ontological seman@cs (1) 7
  8. 8. Importance of ontological seman@cs (2) 8
  9. 9. Importance of ontological seman@cs (3) 9 Communica>on Comprehension Forward engineering (e.g., genera>on)
  10. 10. 10 Importance of ontological seman@cs (4) 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
  11. 11. Most of the exis@ng approaches neglect either configura@on or ontological seman@cs. We want both! 11 φ
  12. 12. Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) 12
  13. 13. 13 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #0 Op@mum branching (Tarjan) weigh@ng edges
  14. 14. 14 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #1 Ranking lists best parent candidates for each feature
  15. 15. 15 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #2 Clusters ~possible siblings
  16. 16. 16 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #3 Cliques ~bi-­‐implica@ons
  17. 17. 17 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 small BIG
  18. 18. 18 Fundamental Problem Selec@ng a Spanning Tree of the Binary Implica@on Graph (BIG) #4 reduced BIG incomplete but drama@cally reduce the problem
  19. 19. 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 40 GB! Milne, D.N., Wigen, I.H.: An open-­‐source toolkit for mining wikipedia. Ar@f. Intell. 194, 222{239 (2013)
  20. 20. WebFML 20
  21. 21. • 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
  22. 22. • 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
  23. 23. • 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
  24. 24. Support and Empirical Study (3) hgp://@nyurl.com/OntoFMExperiments 24 hgp://hal.inria.fr/hal-­‐00874867
  25. 25. WebFML 25
  26. 26. WebFML 26
  27. 27. WebFML 27
  28. 28. WebFML 28
  29. 29. WebFML 29
  30. 30. WebFML 30
  31. 31. h:p://>nyurl.com/WebFMLDemo 31
  32. 32. • 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
  33. 33. Need a DEMO! FraSCAti SCAParser Java Compiler JDK6 JDT Optional Mandatory Alternative- Group Or-Group Assembly Factory Binding http rest MMFrascati Component Factory Metamodel MMTuscany constraints rest requires MMFrascati http requires MMTuscany FM1 Feature Model Ontologies Knowledge User Heuris@cs WebFML: Synthesizing Feature Models 33 φ h:p://>nyurl.com/WebFMLDemo

×