A Complexity Tale: Web Configurators

65
www.unamur.be A Complexity Tale: Web Configurators (invited paper) Gilles Perrouin, Mathieu Acher, Jean-Marc Davril, Axel Legay, Patrick Heymans [email protected] VACE@ICSE, May 15th, 2016 1

Transcript of A Complexity Tale: Web Configurators

Page 1: A Complexity Tale: Web Configurators

www.unamur.be

A Complexity Tale: Web Configurators (invitedpaper)

GillesPerrouin,MathieuAcher,Jean-MarcDavril,AxelLegay,PatrickHeymans

[email protected]

VACE@ICSE,May15th,2016

1

Page 2: A Complexity Tale: Web Configurators

2

Page 3: A Complexity Tale: Web Configurators

2

Page 4: A Complexity Tale: Web Configurators

2

Page 5: A Complexity Tale: Web Configurators

2

Page 6: A Complexity Tale: Web Configurators

2

Page 7: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators

Cyledge.com=>

3

Page 8: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators

Cyledge.com=>

1050C

onfigurators

listed…

3

Page 9: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

4

Page 10: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractive

4

Page 11: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

4

Page 12: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

4

Page 13: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

Efficient

4

Page 14: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

EfficientGuidecostumersthroughoptions

4

Page 15: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

EfficientGuidecostumersthroughoptions

4

Page 16: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

EfficientGuidecostumersthroughoptions

Fast

4

Page 17: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Visuallyattractiveshowcaseofthecompany’sproducts

EfficientGuidecostumersthroughoptions

FastNobodylikeswaitingontheweb…

4

Page 18: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

5

Page 19: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

Correct

5

Page 20: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice

5

Page 21: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice

5

Page 22: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice

Secure

5

Page 23: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators are Challenging

CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice

SecureCriticalbusinessinformationshouldnotleaktoyourcompetitors

5

Page 24: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

6

Page 25: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

6

Page 26: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

Page 27: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

Page 28: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

Page 29: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)Backwardnavigation(loosingallconfigurationdata,31%)

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

Page 30: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)Backwardnavigation(loosingallconfigurationdata,31%)

Variability“exploits”2

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

Page 31: A Complexity Tale: Web Configurators

www.unamur.be

Web Configurators’ Engineering

Mostlyanad-hocdiscipline1

Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)Backwardnavigation(loosingallconfigurationdata,31%)

Variability“exploits”2

6

[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013

[2]Acheretal.ProductLinesCanJeopardizeTheirTradeSecrets,Newideastrack,FSE2015.

Page 32: A Complexity Tale: Web Configurators

MODEL-DRIVEN (RE-)ENGINEERING OF WEB CONFIGURATORS

7

Page 33: A Complexity Tale: Web Configurators

www.unamur.be

A Virtuous Cycle…

8

Analyse Model

ReverseGenerate

Page 34: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

Page 35: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2

Page 36: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2

[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013

Page 37: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2

[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013

[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015

Page 38: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2

[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013

[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015

Page 39: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

9

ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2

SynthesisBooleanformula=>FM+heuristicsOrextractionoftheFMfromtheintermediatePCM1

[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013

[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015

Page 40: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

10

Page 41: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

10

ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction

Page 42: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

10

ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction

VariabilityPatternsPatternlanguagetospecifythedatatoextract(attributes,images)inHTMLcode

Page 43: A Complexity Tale: Web Configurators

www.unamur.be

Reverse: Choose your Input

10

ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction

VariabilityPatternsPatternlanguagetospecifythedatatoextract(attributes,images)inHTMLcode

Abbassietal.ReverseEngineeringWebConfigurators.17thEuropeanConferenceonSoftwareMaintenanceandReengineering(CSMR),Feb2014,Antwerp,Belgium.IEEE,2014.

Page 44: A Complexity Tale: Web Configurators

www.unamur.be

Model: Choose your Architectural Pattern

11

User action Update FM

NotifyUpdate GUIForwardupdateChanges

ConfigurationAPI

SAT/SMTSolver

Reasoning layerControl layerPresentation layer

PresenterView model

Feature model

Translate

1 2

34

56

Q.Boucher,EngineeringConfigurationGraphicalUserInterfacesfromVariabilityModels,PhdThesis,U.Namur,2014

Page 45: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

Page 46: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

FeatureConfigurationworkflows1todriveconfiguration

Page 47: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

FeatureConfigurationworkflows1todriveconfiguration

[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009

Page 48: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

FeatureConfigurationworkflows1todriveconfigurationFeaturedTransitionSystems2toanalyseproductsbehaviour

[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009

Page 49: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

FeatureConfigurationworkflows1todriveconfigurationFeaturedTransitionSystems2toanalyseproductsbehaviour

[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009

[2]Classenetal.FeaturedTransimonSystems:FoundamonsforVerifyingVariability-IntensiveSystemsandTheirApplicamontoLTLModelChecking,TSE39(8):1069–1089,2013

Page 50: A Complexity Tale: Web Configurators

www.unamur.be

Analyse: Choose your level

12

FeatureConfigurationworkflows1todriveconfigurationFeaturedTransitionSystems2toanalyseproductsbehaviourChallengingInterplaybetweenProductConfigurationandValidation

Validityofconfigurationsinadvance…v.s.

Gettingtheautopilotfeaturewhiledriving

[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009

[2]Classenetal.FeaturedTransimonSystems:FoundamonsforVerifyingVariability-IntensiveSystemsandTheirApplicamontoLTLModelChecking,TSE39(8):1069–1089,2013

Page 51: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Page 52: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels

Page 53: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels

Eliminatevisualdiscrepancies(consistentmappingrules)

Page 54: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels

Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)

Page 55: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels

Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)Supportsrapidprototyping=>generatinginstantlyconfiguratorstovalidatetheFMwithcustomers

Page 56: A Complexity Tale: Web Configurators

www.unamur.be

Generate

13

Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels

Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)Supportsrapidprototyping=>generatinginstantlyconfiguratorstovalidatetheFMwithcustomers

Q.Boucher,EngineeringConfigurationGraphicalUserInterfacesfromVariabilityModels,PhDThesis,U.Namur,2014

Page 57: A Complexity Tale: Web Configurators

14

Modelling Layer

Variability Model

Configuration Workflow

FTS

Presentation Models

Context Models

Reasoning Layer

Runtime Reasoners (ECA, Goals)

SAT/SMT Solvers

Configuration GUI

Environment

updates

APIs Layer

Configuration APIPresentation API

updates

reads

callsmonitors

Page 58: A Complexity Tale: Web Configurators

14

Modelling Layer

Variability Model

Configuration Workflow

FTS

Presentation Models

Context Models

Reasoning Layer

Runtime Reasoners (ECA, Goals)

SAT/SMT Solvers

Configuration GUI

Environment

updates

APIs Layer

Configuration APIPresentation API

updates

reads

callsmonitors

Configu

rableC

onfigurator

Archite

cture

Page 59: A Complexity Tale: Web Configurators

CONCLUSION

15

Page 60: A Complexity Tale: Web Configurators

www.unamur.be

Take Home Message

16

Page 61: A Complexity Tale: Web Configurators

www.unamur.be

Take Home Message

16

WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale

Page 62: A Complexity Tale: Web Configurators

www.unamur.be

Take Home Message

16

WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale

Reverse,Architecture&MDEcycletotherescueArchitecture:robustness,performance,securityMDE:Analysis,generation

Page 63: A Complexity Tale: Web Configurators

www.unamur.be

Take Home Message

16

WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale

Reverse,Architecture&MDEcycletotherescueArchitecture:robustness,performance,securityMDE:Analysis,generation

ChallengesConfigurator@Runtime,especiallyfromtheanalysisperspectiveIntegrationwithothersystems

Page 64: A Complexity Tale: Web Configurators

AIM HIGHERWITH SKALUPDiscover what we can do for youVISIT US @ SKALUP.COM [email protected] [email protected]

Page 65: A Complexity Tale: Web Configurators

www.unamur.be

Questions

18

SpecialThemeonModel-BasedTesting

Editors:MikePapadakis,ShaukatAli,GillesPerrouin

Intenttosubmit:July1,2016ManuscriptSubmission:September15,2016Notification:December15,2016