icmt 2016: search-based model transformations with momot

21
Search-Based Model Transformations with MOMoT http://martin-fleck.github.io/momot / ICMT, Vienna 4 th July 2016 A Tool Demonstration Martin Fleck , Javier Troya, Manuel Wimmer

Upload: martin-fleck

Post on 16-Apr-2017

63 views

Category:

Software


1 download

TRANSCRIPT

Page 1: ICMT 2016: Search-Based Model Transformations with MOMoT

Search-Based Model Transformations with MOMoT

http://martin-fleck.github.io/momot/

ICMT, Vienna4th July 2016

A Tool Demonstration

Martin Fleck, Javier Troya, Manuel Wimmer

Page 2: ICMT 2016: Search-Based Model Transformations with MOMoT

Problem Statement

2

Solving Complex Optimization Problems

Example: Class Responsibility Assignment Problem Modularization of features into classes

Page 3: ICMT 2016: Search-Based Model Transformations with MOMoT

Problem Statement

2

Solving Complex Optimization Problems

Example: Class Responsibility Assignment Problem Modularization of features into classes

1 2 5 15 52 203 …

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201

100

10,000

1,000,000

100,000,000

10,000,000,000

1,000,000,000,000

100,000,000,000,000

Number of Features

Num

ber o

f Pos

sibili

ties

Page 4: ICMT 2016: Search-Based Model Transformations with MOMoT

Metamodel?

Problem Statement

3

Solving Complex Optimization Problems

ClassModel

name : EString

Feature

name : EString

Class

name : EString

features

classes isEncapsulatedBy

dataDep

0..*

0..*

0..*

0..*

0..1

0..*

AttributeMethod

encapsulates

funcDep

Page 5: ICMT 2016: Search-Based Model Transformations with MOMoT

Trans-formations?

Problem Statement

3

Solving Complex Optimization Problems

Rule createClass(className: EString)

«preserve»: ClassModel

«forbid»: Classname = className

«create»: Classname = className

«create»

classesclasses

«forbid»

Rule assignFeature(feature: Feature, class: Class) @ClassModel«preserve»feature : Feature

«forbid»: Class

«preserve»class : Class

«create»moduleclass

«forbid»

Page 6: ICMT 2016: Search-Based Model Transformations with MOMoT

Problem Statement

3

Solving Complex Optimization Problems

Coupling?Cohesion?

?

Page 7: ICMT 2016: Search-Based Model Transformations with MOMoT

Manually solving problems intelligently requires detailed knowledge Effect of transformation rules on output model Conflicting and supporting rules Rule parameterization Rule scheduling: Order of rules Conflicting output characteristics

Problem Statement

3

Solving Complex Optimization Problems

Rule createClass(className: EString)

«preserve»: ClassModel

«forbid»: Classname = className

«create»: Classname = className

«create»

classesclasses

«forbid»

Rule assignFeature(feature: Feature, class: Class) @ClassModel«preserve»feature : Feature

«forbid»: Class

«preserve»class : Class

«create»moduleclass

«forbid»

???

Page 8: ICMT 2016: Search-Based Model Transformations with MOMoT

Manually solving problems intelligently requires detailed knowledge Effect of transformation rules on output model Conflicting and supporting rules Rule parameterization Rule scheduling: Order of rules Conflicting output characteristics

Complex problem with large or even infinite transformation space Automatic transformation orchestration

Problem Statement

3

Solving Complex Optimization Problems

Rule createClass(className: EString)

«preserve»: ClassModel

«forbid»: Classname = className

«create»: Classname = className

«create»

classesclasses

«forbid»

Rule assignFeature(feature: Feature, class: Class) @ClassModel«preserve»feature : Feature

«forbid»: Class

«preserve»class : Class

«create»moduleclass

«forbid»

???

Page 9: ICMT 2016: Search-Based Model Transformations with MOMoT

Search-Based Model Transformations

4

Overview

Model-DrivenEngineering

(MDE)

Search-BasedOptimization

(SBO)

Search-Based Model Transformations

Page 10: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Model Transformations

5

Overview

Page 11: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Search-Based Model Transformations

5

Overview

Population(size = 10)

Page 12: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Search-Based Model Transformations

5

Overview

Select krandom(k = 4)

= 1= 3= 2= 4

Population(size = 10)

Page 13: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Search-Based Model Transformations

5

Overview

Select krandom(k = 4)

Choose nbest

(n = 2)

= 1= 3= 2= 4

Population(size = 10)

Page 14: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Search-Based Model Transformations

5

Overview

Select krandom(k = 4)

Choose nbest

(n = 2)Recombine

= 1= 3= 2= 4

Population(size = 10)

Cut Point

Page 15: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Search-Based Model Transformations

5

Overview

Select krandom(k = 4)

Choose nbest

(n = 2)Recombine Mutate

= 1= 3= 2= 4

Population(size = 10)

Cut Point

Page 16: ICMT 2016: Search-Based Model Transformations with MOMoT

Aim: Automatic transformation orchestration for complex problems Utilize abstraction capabilities of MDE Benefit from declarative exploration capabilities of SBO methods

Search-Based Exploration Example: Population-based search method

Idea: Define generic encoding based on model transformations Transformation as sequence of transformation units Parameters set automatically and randomly

Search-Based Model Transformations

5

Overview

Select krandom(k = 4)

Choose nbest

(n = 2)Recombine Mutate

= 1= 3= 2= 4

Population(size = 10)

Cut Point

Transformation Units = Decision Variables

rule = createClassname = 'Class A'

rule = assignFeatureclass = Class Afeature = Feature A

Placeholder

rule = createClass

name = 'Class B'

Page 17: ICMT 2016: Search-Based Model Transformations with MOMoT

Marrying Optimization and Model Transformations Based on Eclipse platform Eclipse EMF as modeling environment Henshin as graph transformation engine MOEA Framework for SBO algorithms

Search-Based Model Transformations

6

Marrying Optimization and Model Transformations (MOMoT)

MOMoT

Problem Instance Model

Objectives

Constraints

Transformation Rules

Exploration Configuration

Result Models

Objective ValuesGeneric

EncodingSearch-based

ExplorationResult

Generation

Constraint Values

Rule Orchestrations

Exploration Statistics

Objective and Constraint Evaluation

TransformationOrchestration

[1] MOMoT Project: http://martin-fleck.github.io/momot/ [2] Eclipse Modeling Framework: https://eclipse.org/modeling/emf/ [3] Henshin Project: https://www.eclipse.org/henshin/[4] MOEA Framework: http://moeaframework.org/

MOEA

Page 18: ICMT 2016: Search-Based Model Transformations with MOMoT

Search-Based Model Transformations

7

Demo

Demo(linked in next slide and available at https://www.youtube.com/watch?v=BQDz6OmxABE

)

Page 19: ICMT 2016: Search-Based Model Transformations with MOMoT

Summary Transformation orchestration is a non-trivial task Smart exploration of transformation space to solve complex problems Generic: Problem- and SBO method-agnostic approach Transparent: Input and output provided directly on model level Declarative: Objectives and constraints specified using MDE techniques Supportive: Dedicated configuration language for model engineers

Search-Based Model Transformations

8

Summary

MOMoT

Problem Instance Model

Objectives

Constraints

Transformation Rules

Exploration Configuration

Result Models

Objective ValuesGeneric

EncodingSearch-based

ExplorationResult

Generation

Constraint Values

Rule Orchestrations

Exploration Statistics

Objective and Constraint Evaluation

TransformationOrchestration

Page 20: ICMT 2016: Search-Based Model Transformations with MOMoT

Interesting Research Lines Application on out-place transformations Support of memetic algorithms Integration of optimization method languages

Search-Based Model Transformations

9

Further Research

MOMoT

Problem Instance Model

Objectives

Constraints

Transformation Rules

Exploration Configuration

Result Models

Objective ValuesGeneric

EncodingSearch-based

ExplorationResult

Generation

Constraint Values

Rule Orchestrations

Exploration Statistics

Objective and Constraint Evaluation

TransformationOrchestration

Page 21: ICMT 2016: Search-Based Model Transformations with MOMoT

Search-Based Model Transformations with MOMoT

http://martin-fleck.github.io/momot/

ICMT, Vienna4th July 2016

A Tool Demonstration

Martin Fleck, Javier Troya, Manuel Wimmer