crepe complete -- slides cmseba2014

23
Crepe Complète Multi-objective optimisation for your models Dionysios Efstathiou, James R. Williams, and Steffen Zschaler CMSEBA, 28 September, 2014

Upload: steffen-zschaler

Post on 27-Jun-2015

133 views

Category:

Software


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Crepe Complete -- Slides CMSEBA2014

Crepe ComplèteMulti-objective optimisation for your

models

Dionysios Efstathiou, James R. Williams, and Steffen Zschaler

CMSEBA, 28 September, 2014

Page 2: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Executive SummaryWhat we wanted

What we got

So, this is very much a workshop paper!

28/09/2014 2

Page 3: Crepe Complete -- Slides CMSEBA2014

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

Page 4: Crepe Complete -- Slides CMSEBA2014

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

Page 5: Crepe Complete -- Slides CMSEBA2014

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

Page 6: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Crepe – an overview

• EOL-based implementation of– Generic encoding of meta-models– Generic implementation of optimisation

algorithms

       

28/09/2014 5

Page 7: Crepe Complete -- Slides CMSEBA2014

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

*

*

Page 8: Crepe Complete -- Slides CMSEBA2014

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

*

*

Page 9: Crepe Complete -- Slides CMSEBA2014

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

Page 10: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment

28/09/2014 7

Page 11: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment

28/09/2014 7

Data Collection Data Processing

Internal Emergency

External Emergency

Notification

Page 12: Crepe Complete -- Slides CMSEBA2014

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

Page 13: Crepe Complete -- Slides CMSEBA2014

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

Page 14: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment (2)

28/09/2014 8

SimulationEnvironment

Page 15: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment (2)

28/09/2014 8

SimulationEnvironment

Initial network configuration

Page 16: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment (2)

28/09/2014 8

SimulationEnvironment

BespokeOptimiser

CrepeComplete

Initial network configuration

Page 17: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Experiment (2)

28/09/2014 8

SimulationEnvironment

BespokeOptimiser

CrepeComplete

SurrogateFitness

Functions

Initial network configuration

useuse

Page 18: Crepe Complete -- Slides CMSEBA2014

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

Page 19: Crepe Complete -- Slides CMSEBA2014

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

Page 20: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

Results

• Performance– Crepe: ~43 minutes– Bespoke: ~1 minute

• Quality:

28/09/2014 9

Page 21: Crepe Complete -- Slides CMSEBA2014

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

Page 22: Crepe Complete -- Slides CMSEBA2014

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

Page 23: Crepe Complete -- Slides CMSEBA2014

Crepe Complete

[email protected]

28/09/2014 12