Crepe Complete -- Slides CMSEBA2014

Post on 27-Jun-2015

133 Views

Category:

Software

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

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