A Complexity Tale: Web Configurators
-
Upload
gilles-perrouin -
Category
Technology
-
view
161 -
download
0
Transcript of A Complexity Tale: Web Configurators
www.unamur.be
A Complexity Tale: Web Configurators (invitedpaper)
GillesPerrouin,MathieuAcher,Jean-MarcDavril,AxelLegay,PatrickHeymans
VACE@ICSE,May15th,2016
1
2
2
2
2
2
www.unamur.be
Web Configurators
Cyledge.com=>
3
www.unamur.be
Web Configurators
Cyledge.com=>
1050C
onfigurators
listed…
3
www.unamur.be
Web Configurators are Challenging
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractive
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
Efficient
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
EfficientGuidecostumersthroughoptions
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
EfficientGuidecostumersthroughoptions
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
EfficientGuidecostumersthroughoptions
Fast
4
www.unamur.be
Web Configurators are Challenging
Visuallyattractiveshowcaseofthecompany’sproducts
EfficientGuidecostumersthroughoptions
FastNobodylikeswaitingontheweb…
4
www.unamur.be
Web Configurators are Challenging
5
www.unamur.be
Web Configurators are Challenging
Correct
5
www.unamur.be
Web Configurators are Challenging
CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice
5
www.unamur.be
Web Configurators are Challenging
CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice
5
www.unamur.be
Web Configurators are Challenging
CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice
Secure
5
www.unamur.be
Web Configurators are Challenging
CorrectCostumersshouldnotconfigureproductsthatcan’tbebuiltoratadifferentprice
SecureCriticalbusinessinformationshouldnotleaktoyourcompetitors
5
www.unamur.be
Web Configurators’ Engineering
6
www.unamur.be
Web Configurators’ Engineering
Mostlyanad-hocdiscipline1
6
www.unamur.be
Web Configurators’ Engineering
Mostlyanad-hocdiscipline1
6
[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013
www.unamur.be
Web Configurators’ Engineering
Mostlyanad-hocdiscipline1
Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)
6
[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013
www.unamur.be
Web Configurators’ Engineering
Mostlyanad-hocdiscipline1
Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)
6
[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013
www.unamur.be
Web Configurators’ Engineering
Mostlyanad-hocdiscipline1
Incompletereasoning(notcheckingmandatoryoptions,formattingissues,26%)Visualdiscrepancies(implementingexclusiveoptionswithnon-exclusivecheckboxes)Backwardnavigation(loosingallconfigurationdata,31%)
6
[1]Abbassietal.TheAnatomyofaSalesConfigurator:AnEmpiricalStudyof111Cases,CAISE2013
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
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.
MODEL-DRIVEN (RE-)ENGINEERING OF WEB CONFIGURATORS
7
www.unamur.be
A Virtuous Cycle…
8
Analyse Model
ReverseGenerate
www.unamur.be
Reverse: Choose your Input
9
www.unamur.be
Reverse: Choose your Input
9
ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2
www.unamur.be
Reverse: Choose your Input
9
ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2
[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013
www.unamur.be
Reverse: Choose your Input
9
ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2
[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013
[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015
www.unamur.be
Reverse: Choose your Input
9
ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2
[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013
[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015
www.unamur.be
Reverse: Choose your Input
9
ProductDescriptionsFeaturesscatteredintextualdocuments1ProductConfigurationMatrices2
SynthesisBooleanformula=>FM+heuristicsOrextractionoftheFMfromtheintermediatePCM1
[1]Davriletal.FeatureModelExtractionfromLargeCollectionsofInformalProductDescriptions.ESC/FSE2013
[2]BenNasretal.MatrixMiner:ARedPilltoArchitectInformalProductDescriptionsintheMatrix.ESEC/FSE2015
www.unamur.be
Reverse: Choose your Input
10
www.unamur.be
Reverse: Choose your Input
10
ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction
www.unamur.be
Reverse: Choose your Input
10
ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction
VariabilityPatternsPatternlanguagetospecifythedatatoextract(attributes,images)inHTMLcode
www.unamur.be
Reverse: Choose your Input
10
ConfiguratorStaticanalysistoextractvariabilitypatternsWebcrawlertocompletepatternsextraction
VariabilityPatternsPatternlanguagetospecifythedatatoextract(attributes,images)inHTMLcode
Abbassietal.ReverseEngineeringWebConfigurators.17thEuropeanConferenceonSoftwareMaintenanceandReengineering(CSMR),Feb2014,Antwerp,Belgium.IEEE,2014.
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
www.unamur.be
Analyse: Choose your level
12
www.unamur.be
Analyse: Choose your level
12
FeatureConfigurationworkflows1todriveconfiguration
www.unamur.be
Analyse: Choose your level
12
FeatureConfigurationworkflows1todriveconfiguration
[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009
www.unamur.be
Analyse: Choose your level
12
FeatureConfigurationworkflows1todriveconfigurationFeaturedTransitionSystems2toanalyseproductsbehaviour
[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009
www.unamur.be
Analyse: Choose your level
12
FeatureConfigurationworkflows1todriveconfigurationFeaturedTransitionSystems2toanalyseproductsbehaviour
[1]Hubauxetal.Formalmodellingoffeatureconfiguramonworkflows.SPLC2009
[2]Classenetal.FeaturedTransimonSystems:FoundamonsforVerifyingVariability-IntensiveSystemsandTheirApplicamontoLTLModelChecking,TSE39(8):1069–1089,2013
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
www.unamur.be
Generate
13
www.unamur.be
Generate
13
Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels
www.unamur.be
Generate
13
Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels
Eliminatevisualdiscrepancies(consistentmappingrules)
www.unamur.be
Generate
13
Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels
Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)
www.unamur.be
Generate
13
Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels
Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)Supportsrapidprototyping=>generatinginstantlyconfiguratorstovalidatetheFMwithcustomers
www.unamur.be
Generate
13
Usemodeltransformationtogenerateconfigurationinterfacesfromfeaturemodels
Eliminatevisualdiscrepancies(consistentmappingrules)Enforcesseparationofconcernspushedbyarchitecture(noconstraintmanagementintheGUI)Supportsrapidprototyping=>generatinginstantlyconfiguratorstovalidatetheFMwithcustomers
Q.Boucher,EngineeringConfigurationGraphicalUserInterfacesfromVariabilityModels,PhDThesis,U.Namur,2014
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
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
CONCLUSION
15
www.unamur.be
Take Home Message
16
www.unamur.be
Take Home Message
16
WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale
www.unamur.be
Take Home Message
16
WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale
Reverse,Architecture&MDEcycletotherescueArchitecture:robustness,performance,securityMDE:Analysis,generation
www.unamur.be
Take Home Message
16
WebConfiguratorsarehighlycomplexandadaptiveAdhocapproachwon’tscale
Reverse,Architecture&MDEcycletotherescueArchitecture:robustness,performance,securityMDE:Analysis,generation
ChallengesConfigurator@Runtime,especiallyfromtheanalysisperspectiveIntegrationwithothersystems
AIM HIGHERWITH SKALUPDiscover what we can do for youVISIT US @ SKALUP.COM [email protected] [email protected]
www.unamur.be
Questions
18
SpecialThemeonModel-BasedTesting
Editors:MikePapadakis,ShaukatAli,GillesPerrouin
Intenttosubmit:July1,2016ManuscriptSubmission:September15,2016Notification:December15,2016