Crepe Complete -- Slides CMSEBA2014

  • View
    126

  • Download
    4

Embed Size (px)

DESCRIPTION

Slides from my talk at the CMSEBA workshop 2014 @ MODELS in Valencia.

Text of Crepe Complete -- Slides CMSEBA2014

  • 1. Crepe ComplteMulti-objective optimisation for your modelsDionysios Efstathiou, James R. Williams, andSteffen ZschalerCMSEBA, 28 September, 2014

2. Executive SummaryWhat we wantedWhat we got28/09/2014 Crepe Complete 2 3. OverviewWe report on1. Extending Crepe for model-based multi-objectiveoptimisation2. Evaluating performance and optimisation-qualityof the extended Crepe On one case study28/09/2014 Crepe Complete 3 4. Motivation SBSE + MDE = World domination SBSE provides search-based approaches tosoftware-engineering problems MDE provides systematic ways of automatingsoftware-engineering tasks28/09/2014 Crepe Complete 4 5. Motivation SBSE + MDE = World domination SBSE provides search-based approaches tosoftware-engineering problems MDE provides systematic ways of automatingsoftware-engineering tasks Combination: Infrastructure for finding optimalsolutions to SE problems effectively General implementation of optimisation Identification of variation points between problems Enable SBSE researchers to focus on these key aspects ofthe problem28/09/2014 Crepe Complete 4 6. Crepe an overview EOL-based implementation of Generic encoding of meta-models Generic implementation of optimisationalgorithms28/09/2014 Crepe Complete 5 7. Crepe an overview EOL-based implementation of Generic encoding of meta-models Generic implementation of optimisationalgorithmsgenerationsSearch Population*individuals *Individualfitness : Doublemutated : Booleanelite : BooleanFeaturePairfeatureSelectorBit : IntegerfeatureValueBit : Integer*SegmentclassBit : Integer0..2parents*28/09/2014 Crepe Complete 5 8. Crepe an overview EOL-based implementation of Generic encoding of meta-models Generic implementation of optimisationalgorithmsgenerationsSearch Population Input required: Meta-model Finitisation model Fitness functions*individuals *Individualfitness : Doublemutated : Booleanelite : BooleanFeaturePairfeatureSelectorBit : IntegerfeatureValueBit : Integer*SegmentclassBit : Integer0..2parents*28/09/2014 Crepe Complete 5 9. Extending Crepe Added support for Multi-objective optimisation More complex model constraintsIndividualMOIndividualrank : Integersparsity : Double*Objectivescore : Doubleminimis : Boolean28/09/2014 Crepe Complete 6 10. Experiment28/09/2014 Crepe Complete 7 11. ExperimentData Collection Data ProcessingInternal EmergencyExternal EmergencyNotification28/09/2014 Crepe Complete 7 12. ExperimentOrchestrator1..* abstractServicesAbstractService1..* concreteServicesconcreteServices1..*1 providedServiceNodedeployedOn11 hostedOnUser*abstractServicesAbstractPlan1 end1 start0..* concreteServicesCompositeApplicationConcreteService1start1 providedBy0..* networkNodes0..* serviceUser0..* concretePlanstargetOrchestrator0..11end1..*orchestrators28/09/2014 Crepe Complete 71start1end1abstractPlanConcretePlan 13. ExperimentOrchestrator1..* abstractServicesAbstractService1..* concreteServicesconcreteServices1..*1 providedServiceNodedeployedOn11 hostedOnUser*abstractServicesAbstractPlan1 end1 start0..* concreteServicesCompositeApplicationConcreteService1start1 providedBy0..* networkNodes0..* serviceUser0..* concretePlanstargetOrchestrator0..11end1..*orchestrators28/09/2014 Crepe Complete 71start1end1abstractPlanConcretePlan 14. Experiment (2)SimulationEnvironment28/09/2014 Crepe Complete 8 15. Experiment (2)SimulationEnvironmentInitial network configuration28/09/2014 Crepe Complete 8 16. Experiment (2)SimulationEnvironmentBespokeOptimiserInitial network configurationCrepeComplete28/09/2014 Crepe Complete 8 17. Experiment (2)SimulationEnvironmentBespokeOptimiserInitial network configurationCrepeCompleteSurrogateFitnessFunctionsuse use28/09/2014 Crepe Complete 8 18. Experiment (2)SimulationEnvironmentBespokeOptimiserInitial network configurationCrepeCompleteSurrogateFitnessFunctionsOptimalservice compositionsSimulationEnvironmentOptimalservice compositionsSimulationEnvironmentuse useQuality assessment Quality assessment28/09/2014 Crepe Complete 8 19. Experiment (2)SimulationEnvironmentBespokeOptimiserInitial network configurationCrepeCompleteSurrogateFitnessFunctionsOptimalservice compositionsSimulationEnvironmentOptimalservice compositionsSimulationEnvironmentuse useQuality assessment Quality assessment 30 repetitions, for 30 generations, population size 96 Intel Core i7 vPro with 12GB DDR3 RAM, Linux 3.2.0-4028/09/2014 Crepe Complete 8 20. Results Performance Crepe: ~43 minutes Bespoke: ~1 minute Quality:28/09/2014 Crepe Complete 9 21. Discussion What are the main differences? Performance Compactness of representation Integer vector vs model-based genome representation Domain-specificity of representation Generic representation of models vs representation of servicecompositions Interpreted language vs compiled language Quality Domain-specific mutation and crossover vs generic operators Improves support for domain constraints No need for artificial filtering or guessing of some attributes28/09/2014 Crepe Complete 10 22. To Infinity and Beyond A long way still to go Improve implementation of Crepe Use a more compact representation of genes Detailed profiling needed Improve support for domain-specific Operators Representations28/09/2014 Crepe Complete 11 23. szschaler@acm.orgQUESTIONS?28/09/2014 Crepe Complete 12