Slides of my (invited) talk on web configurators at the 1st workshop on Variability and Complexity in Software Design (VACE) co-located with the International Conference on Software Engineering (ICSE), Austin, Texas, USA. May 15, 2016
Design and Development of a Provenance Capture Platform for Data Science
A Complexity Tale: Web Configurators
1. www.unamur.be
A Complexity Tale: Web Configurators
(invited paper)
Gilles Perrouin, Mathieu Acher, Jean-Marc Davril, Axel Legay, Patrick Heymans
gilles.perrouin@unamur.be
VACE@ICSE, May 15th, 2016
1
14. www.unamur.be
Web Configurators are Challenging
Visually attractive
showcase of the company’s products
Efficient
Guide costumers through options
4
15. www.unamur.be
Web Configurators are Challenging
Visually attractive
showcase of the company’s products
Efficient
Guide costumers through options
4
16. www.unamur.be
Web Configurators are Challenging
Visually attractive
showcase of the company’s products
Efficient
Guide costumers through options
Fast
4
17. www.unamur.be
Web Configurators are Challenging
Visually attractive
showcase of the company’s products
Efficient
Guide costumers through options
Fast
Nobody likes waiting on the web…
4
20. www.unamur.be
Web Configurators are Challenging
Correct
Costumers should not configure products that can’t be
built or at a different price
5
21. www.unamur.be
Web Configurators are Challenging
Correct
Costumers should not configure products that can’t be
built or at a different price
5
22. www.unamur.be
Web Configurators are Challenging
Correct
Costumers should not configure products that can’t be
built or at a different price
Secure
5
23. www.unamur.be
Web Configurators are Challenging
Correct
Costumers should not configure products that can’t be
built or at a different price
Secure
Critical business information should not leak to your
competitors
5
35. www.unamur.be
Reverse: Choose your Input
9
Product Descriptions
Features scattered in textual documents1
Product Configuration Matrices2
36. www.unamur.be
Reverse: Choose your Input
9
Product Descriptions
Features scattered in textual documents1
Product Configuration Matrices2
[1] Davril et al. Feature Model Extraction from Large Collections of Informal Product
Descriptions. ESC/FSE 2013
37. www.unamur.be
Reverse: Choose your Input
9
Product Descriptions
Features scattered in textual documents1
Product Configuration Matrices2
[1] Davril et al. Feature Model Extraction from Large Collections of Informal Product
Descriptions. ESC/FSE 2013
[2] Ben Nasr et al. MatrixMiner: A Red Pill to Architect Informal Product Descriptions in the
Matrix. ESEC/FSE 2015
38. www.unamur.be
Reverse: Choose your Input
9
Product Descriptions
Features scattered in textual documents1
Product Configuration Matrices2
[1] Davril et al. Feature Model Extraction from Large Collections of Informal Product
Descriptions. ESC/FSE 2013
[2] Ben Nasr et al. MatrixMiner: A Red Pill to Architect Informal Product Descriptions in the
Matrix. ESEC/FSE 2015
39. www.unamur.be
Reverse: Choose your Input
9
Product Descriptions
Features scattered in textual documents1
Product Configuration Matrices2
Synthesis
Boolean formula => FM + heuristics
Or extraction of the FM from the intermediate PCM1
[1] Davril et al. Feature Model Extraction from Large Collections of Informal Product
Descriptions. ESC/FSE 2013
[2] Ben Nasr et al. MatrixMiner: A Red Pill to Architect Informal Product Descriptions in the
Matrix. ESEC/FSE 2015
41. www.unamur.be
Reverse: Choose your Input
10
Configurator
Static analysis to extract variability patterns
Web crawler to complete patterns extraction
42. www.unamur.be
Reverse: Choose your Input
10
Configurator
Static analysis to extract variability patterns
Web crawler to complete patterns extraction
Variability Patterns
Pattern language to specify the data to extract
(attributes, images) in HTML code
43. www.unamur.be
Reverse: Choose your Input
10
Configurator
Static analysis to extract variability patterns
Web crawler to complete patterns extraction
Variability Patterns
Pattern language to specify the data to extract
(attributes, images) in HTML code
Abbassi et al. Reverse Engineering Web Configurators. 17th European Conference on Software
Maintenance and Reengineering (CSMR), Feb 2014, Antwerp, Belgium. IEEE, 2014.
44. www.unamur.be
Model: Choose your Architectural
Pattern
11
User action Update FM
NotifyUpdate GUI
Forward
update
Changes
Configuration
API
SAT/SMT
Solver
Reasoning layerControl layerPresentation layer
PresenterView model
Feature model
Translate
1 2
34
56
Q. Boucher, Engineering Configuration Graphical User Interfaces from Variability
Models, Phd Thesis, U. Namur, 2014
47. www.unamur.be
Analyse: Choose your level
12
Feature Configuration workflows1 to drive configuration
[1] Hubaux et al. Formal modelling of feature configuramon workflows. SPLC 2009
48. www.unamur.be
Analyse: Choose your level
12
Feature Configuration workflows1 to drive configuration
Featured Transition Systems2 to analyse products
behaviour
[1] Hubaux et al. Formal modelling of feature configuramon workflows. SPLC 2009
49. www.unamur.be
Analyse: Choose your level
12
Feature Configuration workflows1 to drive configuration
Featured Transition Systems2 to analyse products
behaviour
[1] Hubaux et al. Formal modelling of feature configuramon workflows. SPLC 2009
[2] Classen et al. Featured Transimon Systems: Foundamons for Verifying Variability-Intensive
Systems and Their Applicamon to LTL Model Checking, TSE 39(8):1069–1089, 2013
50. www.unamur.be
Analyse: Choose your level
12
Feature Configuration workflows1 to drive configuration
Featured Transition Systems2 to analyse products
behaviour
Challenging Interplay between Product Configuration and
Validation
Validity of configurations in advance…
v.s.
Getting the autopilot feature while driving
[1] Hubaux et al. Formal modelling of feature configuramon workflows. SPLC 2009
[2] Classen et al. Featured Transimon Systems: Foundamons for Verifying Variability-Intensive
Systems and Their Applicamon to LTL Model Checking, TSE 39(8):1069–1089, 2013