Crepe Complete -- Slides CMSEBA2014
Post on 27-Jun-2015
133 Views
Preview:
DESCRIPTION
Transcript
Crepe ComplèteMulti-objective optimisation for your
models
Dionysios Efstathiou, James R. Williams, and Steffen Zschaler
CMSEBA, 28 September, 2014
Crepe Complete
Executive SummaryWhat we wanted
What we got
So, this is very much a workshop paper!
28/09/2014 2
Crepe Complete
Overview
We report on1. Extending Crepe for model-based multi-
objective optimisation
2. Evaluating performance and optimisation-quality of the extended Crepe• On one case study
28/09/2014 3
Crepe Complete
Motivation
• SBSE + MDE = World domination – SBSE provides search-based approaches to
software-engineering problems– MDE provides systematic ways of automating
software-engineering tasks
28/09/2014 4
Crepe Complete
Motivation
• SBSE + MDE = World domination – SBSE provides search-based approaches to
software-engineering problems– MDE provides systematic ways of automating
software-engineering tasks
– Combination: Infrastructure for finding optimal solutions to SE problems effectively
• General implementation of optimisation• Identification of variation points between problems• Enable SBSE researchers to focus on these key aspects of
the problem
28/09/2014 4
Crepe Complete
Crepe – an overview
• EOL-based implementation of– Generic encoding of meta-models– Generic implementation of optimisation
algorithms
28/09/2014 5
Crepe Complete
Crepe – an overview
• EOL-based implementation of– Generic encoding of meta-models– Generic implementation of optimisation
algorithms
28/09/2014 5
Search Population
Individualfitness : Doublemutated : Booleanelite : Boolean
SegmentclassBit : Integer
FeaturePairfeatureSelectorBit : IntegerfeatureValueBit : Integer
generations*
individuals *
0..2parents
*
*
Crepe Complete
Crepe – an overview
• EOL-based implementation of– Generic encoding of meta-models– Generic implementation of optimisation
algorithms
• Input required:– Meta-model– Finitisation model– Fitness functions
28/09/2014 5
Search Population
Individualfitness : Doublemutated : Booleanelite : Boolean
SegmentclassBit : Integer
FeaturePairfeatureSelectorBit : IntegerfeatureValueBit : Integer
generations*
individuals *
0..2parents
*
*
Crepe Complete
• Added support for– Multi-objective optimisation
– More complex model constraints
Extending Crepe
28/09/2014 6
MOIndividualrank : Integersparsity : Double
Objectivescore : Doubleminimis : Boolean
*
Individual
Crepe Complete
Experiment
28/09/2014 7
Crepe Complete
Experiment
28/09/2014 7
Data Collection Data Processing
Internal Emergency
External Emergency
Notification
Crepe Complete
Experiment
28/09/2014 7
Orchestrator
AbstractService
User
CompositeApplication
AbstractPlan
ConcreteService
Node
1 start
ab
stra
ctS
erv
ice
s
1 end
*
1..* abstractServices
1 start
1..* concreteServices0..* concreteServices
0..* networkNodes
0..* serviceUser
0..* concretePlans
1 hostedOn
1 providedService
1 providedBy
concreteServices1..*
deployedOn1
targetOrchestrator
0..11
end1..*orchestrators
1 start
1 end
1abstractPlan
ConcretePlan
Crepe Complete
Experiment
28/09/2014 7
Orchestrator
AbstractService
User
CompositeApplication
AbstractPlan
ConcreteService
Node
1 start
ab
stra
ctS
erv
ice
s
1 end
*
1..* abstractServices
1 start
1..* concreteServices0..* concreteServices
0..* networkNodes
0..* serviceUser
0..* concretePlans
1 hostedOn
1 providedService
1 providedBy
concreteServices1..*
deployedOn1
targetOrchestrator
0..11
end1..*orchestrators
1 start
1 end
1abstractPlan
ConcretePlan
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
Initial network configuration
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
BespokeOptimiser
CrepeComplete
Initial network configuration
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
BespokeOptimiser
CrepeComplete
SurrogateFitness
Functions
Initial network configuration
useuse
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
BespokeOptimiser
CrepeComplete
SurrogateFitness
Functions
SimulationEnvironment
SimulationEnvironment
Initial network configuration
useuse
Optimalservice compositions
Optimalservice compositions
Quality assessment Quality assessment
Crepe Complete
Experiment (2)
28/09/2014 8
SimulationEnvironment
BespokeOptimiser
CrepeComplete
SurrogateFitness
Functions
SimulationEnvironment
SimulationEnvironment
Initial network configuration
useuse
Optimalservice compositions
Optimalservice compositions
Quality assessment Quality assessment
• 30 repetitions, for 30 generations, population size 96• Intel Core i7 vPro with 12GB DDR3 RAM, Linux 3.2.0-40
Crepe Complete
Results
• Performance– Crepe: ~43 minutes– Bespoke: ~1 minute
• Quality:
28/09/2014 9
Crepe Complete
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 service
compositions
• 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 attributes
28/09/2014 10
Crepe Complete
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• Representations
28/09/2014 11
Crepe Complete
QUESTIONS?szschaler@acm.org
28/09/2014 12
top related