SlideShare une entreprise Scribd logo
1  sur  21
Search-Based Model Transformations with MOMoT
http://martin-fleck.github.io/momot/
ICMT, Vienna
4th July 2016
A Tool Demonstration
Martin Fleck, Javier Troya, Manuel Wimmer
Problem Statement
2
Solving Complex Optimization Problems
 Example: Class Responsibility Assignment Problem
 Modularization of features into classes
Problem Statement
2
Solving Complex Optimization Problems
 Example: Class Responsibility Assignment Problem
 Modularization of features into classes
1 2 5 15 52 203 …
1
10
100
1,000
10,000
100,000
1,000,000
10,000,000
100,000,000
1,000,000,000
10,000,000,000
100,000,000,000
1,000,000,000,000
10,000,000,000,000
100,000,000,000,000
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
NumberofPossibilities
Number of Features
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
Trans-
formations?
Problem Statement
3
Solving Complex Optimization Problems
Rule createClass(className: EString)
«preserve»
: ClassModel
«forbid»
: Class
name = className
«create»
: Class
name = className
«create»
classesclasses
«forbid»
Rule assignFeature(feature: Feature, class: Class) @ClassModel
«preserve»
feature : Feature
«forbid»
: Class
«preserve»
class : Class
«create»
moduleclass
«forbid»
Problem Statement
3
Solving Complex Optimization Problems
Coupling?
Cohesion?
?
 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»
: Class
name = className
«create»
: Class
name = className
«create»
classesclasses
«forbid»
Rule assignFeature(feature: Feature, class: Class) @ClassModel
«preserve»
feature : Feature
«forbid»
: Class
«preserve»
class : Class
«create»
moduleclass
«forbid»
 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»
: Class
name = className
«create»
: Class
name = className
«create»
classesclasses
«forbid»
Rule assignFeature(feature: Feature, class: Class) @ClassModel
«preserve»
feature : Feature
«forbid»
: Class
«preserve»
class : Class
«create»
moduleclass
«forbid»
Search-Based Model Transformations
4
Overview
Model-Driven
Engineering
(MDE)
Search-Based
Optimization
(SBO)
Search-Based Model Transformations
 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
 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)
 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 k
random
(k = 4)
= 1
= 3
= 2
= 4
Population
(size = 10)
 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 k
random
(k = 4)
Choose n
best
(n = 2)
= 1
= 3
= 2
= 4
Population
(size = 10)
 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 k
random
(k = 4)
Choose n
best
(n = 2)
Recombine
= 1
= 3
= 2
= 4
Population
(size = 10)
Cut Point
 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 k
random
(k = 4)
Choose n
best
(n = 2)
Recombine Mutate
= 1
= 3
= 2
= 4
Population
(size = 10)
Cut Point
 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 k
random
(k = 4)
Choose n
best
(n = 2)
Recombine Mutate
= 1
= 3
= 2
= 4
Population
(size = 10)
Cut Point
Transformation Units = Decision Variables
rule = createClass
name = 'Class A'
rule = assignFeature
class = Class A
feature = Feature A
Placeholder
rule = createClass
name = 'Class B'
 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 Values
Generic
Encoding
Search-based
Exploration
Result
Generation
Constraint Values
Rule Orchestrations
Exploration Statistics
Objective and
Constraint Evaluation
Transformation
Orchestration
[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
Search-Based Model Transformations
7
Demo
Demo
(linked in next slide and available at
https://www.youtube.com/watch?v=BQDz6OmxABE)
 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 Values
Generic
Encoding
Search-based
Exploration
Result
Generation
Constraint Values
Rule Orchestrations
Exploration Statistics
Objective and
Constraint Evaluation
Transformation
Orchestration
 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 Values
Generic
Encoding
Search-based
Exploration
Result
Generation
Constraint Values
Rule Orchestrations
Exploration Statistics
Objective and
Constraint Evaluation
Transformation
Orchestration
Search-Based Model Transformations with MOMoT
http://martin-fleck.github.io/momot/
ICMT, Vienna
4th July 2016
A Tool Demonstration
Martin Fleck, Javier Troya, Manuel Wimmer

Contenu connexe

Tendances

Templates in C++
Templates in C++Templates in C++
Templates in C++
Tech_MX
 

Tendances (20)

Logistic Regression
Logistic RegressionLogistic Regression
Logistic Regression
 
Category Theory for Mortal Programmers
Category Theory for Mortal ProgrammersCategory Theory for Mortal Programmers
Category Theory for Mortal Programmers
 
Feature selection
Feature selectionFeature selection
Feature selection
 
OOP with Java - continued
OOP with Java - continuedOOP with Java - continued
OOP with Java - continued
 
C++ Template
C++ TemplateC++ Template
C++ Template
 
Introduction to c ++ part -2
Introduction to c ++   part -2Introduction to c ++   part -2
Introduction to c ++ part -2
 
Basic c#
Basic c#Basic c#
Basic c#
 
Category Theory for Programmers
Category Theory for ProgrammersCategory Theory for Programmers
Category Theory for Programmers
 
Category theory for beginners
Category theory for beginnersCategory theory for beginners
Category theory for beginners
 
20.5 Java polymorphism
20.5 Java polymorphism 20.5 Java polymorphism
20.5 Java polymorphism
 
20.2 Java inheritance
20.2 Java inheritance20.2 Java inheritance
20.2 Java inheritance
 
Intake 37 5
Intake 37 5Intake 37 5
Intake 37 5
 
11. java methods
11. java methods11. java methods
11. java methods
 
Templates
TemplatesTemplates
Templates
 
C sharp chap6
C sharp chap6C sharp chap6
C sharp chap6
 
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
Object Detection with Deep Learning - Xavier Giro-i-Nieto - UPC School Barcel...
 
Template C++ OOP
Template C++ OOPTemplate C++ OOP
Template C++ OOP
 
Object detection and Instance Segmentation
Object detection and Instance SegmentationObject detection and Instance Segmentation
Object detection and Instance Segmentation
 
Data Handling and Function
Data Handling and FunctionData Handling and Function
Data Handling and Function
 
Templates in C++
Templates in C++Templates in C++
Templates in C++
 

En vedette

Baldwin Dias resume
Baldwin Dias resumeBaldwin Dias resume
Baldwin Dias resume
Baldwin Dias
 
Mga Pagsubok sa Sangkap ng Physical Fitness
Mga Pagsubok sa Sangkap ng Physical FitnessMga Pagsubok sa Sangkap ng Physical Fitness
Mga Pagsubok sa Sangkap ng Physical Fitness
Eirish Lazo
 

En vedette (20)

Angelita chapter 12
Angelita chapter 12Angelita chapter 12
Angelita chapter 12
 
El modelo de comportamiento del Consumidor
El modelo de comportamiento del ConsumidorEl modelo de comportamiento del Consumidor
El modelo de comportamiento del Consumidor
 
Invest in Leeds
Invest in LeedsInvest in Leeds
Invest in Leeds
 
Baldwin Dias resume
Baldwin Dias resumeBaldwin Dias resume
Baldwin Dias resume
 
Goal Analysis
Goal AnalysisGoal Analysis
Goal Analysis
 
Natal
NatalNatal
Natal
 
1 kak ustroen-kompyuter
1 kak ustroen-kompyuter1 kak ustroen-kompyuter
1 kak ustroen-kompyuter
 
Everything Changes but Change
Everything Changes but ChangeEverything Changes but Change
Everything Changes but Change
 
Tipos de energía
Tipos de energíaTipos de energía
Tipos de energía
 
Nociones Fundamentales de Contabilidad e Historia
Nociones Fundamentales de Contabilidad e HistoriaNociones Fundamentales de Contabilidad e Historia
Nociones Fundamentales de Contabilidad e Historia
 
sourabh-sintex doc
sourabh-sintex docsourabh-sintex doc
sourabh-sintex doc
 
My_C V
My_C VMy_C V
My_C V
 
CURRICULUM VITAE
CURRICULUM  VITAECURRICULUM  VITAE
CURRICULUM VITAE
 
Communication patterns
Communication patternsCommunication patterns
Communication patterns
 
Fundamento de empaque y conservación 1
Fundamento de empaque y conservación 1Fundamento de empaque y conservación 1
Fundamento de empaque y conservación 1
 
Angelita chapter 9
Angelita chapter 9Angelita chapter 9
Angelita chapter 9
 
Entorno comercial
Entorno comercialEntorno comercial
Entorno comercial
 
Chapter 11
Chapter 11Chapter 11
Chapter 11
 
Mga Pagsubok sa Sangkap ng Physical Fitness
Mga Pagsubok sa Sangkap ng Physical FitnessMga Pagsubok sa Sangkap ng Physical Fitness
Mga Pagsubok sa Sangkap ng Physical Fitness
 
Plastic eating bacteria
Plastic eating bacteriaPlastic eating bacteria
Plastic eating bacteria
 

Similaire à ICMT 2016: Search-Based Model Transformations with MOMoT

Automated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and TrackingAutomated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and Tracking
Databricks
 
Web Information Extraction Learning based on Probabilistic Graphical Models
Web Information Extraction Learning based on Probabilistic Graphical ModelsWeb Information Extraction Learning based on Probabilistic Graphical Models
Web Information Extraction Learning based on Probabilistic Graphical Models
GUANBO
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learning
butest
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
Justin Basilico
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - Databricks
Spark Summit
 

Similaire à ICMT 2016: Search-Based Model Transformations with MOMoT (20)

PhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystemsPhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystems
 
Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017Thesis Defense (Gwendal DANIEL) - Nov 2017
Thesis Defense (Gwendal DANIEL) - Nov 2017
 
Scala for Machine Learning
Scala for Machine LearningScala for Machine Learning
Scala for Machine Learning
 
Automated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and TrackingAutomated Hyperparameter Tuning, Scaling and Tracking
Automated Hyperparameter Tuning, Scaling and Tracking
 
Web Information Extraction Learning based on Probabilistic Graphical Models
Web Information Extraction Learning based on Probabilistic Graphical ModelsWeb Information Extraction Learning based on Probabilistic Graphical Models
Web Information Extraction Learning based on Probabilistic Graphical Models
 
Model Comparison for Delta-Compression
Model Comparison for Delta-CompressionModel Comparison for Delta-Compression
Model Comparison for Delta-Compression
 
2015 07-tuto1-phrase mining
2015 07-tuto1-phrase mining2015 07-tuto1-phrase mining
2015 07-tuto1-phrase mining
 
Integrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of RobotsIntegrated Model Discovery and Self-Adaptation of Robots
Integrated Model Discovery and Self-Adaptation of Robots
 
Introduction to Machine Learning with SciKit-Learn
Introduction to Machine Learning with SciKit-LearnIntroduction to Machine Learning with SciKit-Learn
Introduction to Machine Learning with SciKit-Learn
 
Introduction to Design Patterns
Introduction to Design PatternsIntroduction to Design Patterns
Introduction to Design Patterns
 
LNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine LearningLNCS 5050 - Bilevel Optimization and Machine Learning
LNCS 5050 - Bilevel Optimization and Machine Learning
 
Effective Detection of Model Changes
Effective Detection of Model ChangesEffective Detection of Model Changes
Effective Detection of Model Changes
 
Can Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML ModelsCan Machine Learning Models be Trusted? Explaining Decisions of ML Models
Can Machine Learning Models be Trusted? Explaining Decisions of ML Models
 
acmsigtalkshare-121023190142-phpapp01.pptx
acmsigtalkshare-121023190142-phpapp01.pptxacmsigtalkshare-121023190142-phpapp01.pptx
acmsigtalkshare-121023190142-phpapp01.pptx
 
What are the Unique Challenges and Opportunities in Systems for ML?
What are the Unique Challenges and Opportunities in Systems for ML?What are the Unique Challenges and Opportunities in Systems for ML?
What are the Unique Challenges and Opportunities in Systems for ML?
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 
Keynote at IWLS 2017
Keynote at IWLS 2017Keynote at IWLS 2017
Keynote at IWLS 2017
 
Exposé Ontology
Exposé OntologyExposé Ontology
Exposé Ontology
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Machine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - DatabricksMachine Learning Pipelines - Joseph Bradley - Databricks
Machine Learning Pipelines - Joseph Bradley - Databricks
 

Dernier

Dernier (20)

AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
How to pick right visual testing tool.pdf
How to pick right visual testing tool.pdfHow to pick right visual testing tool.pdf
How to pick right visual testing tool.pdf
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdfImplementing KPIs and Right Metrics for Agile Delivery Teams.pdf
Implementing KPIs and Right Metrics for Agile Delivery Teams.pdf
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purityAPVP,apvp apvp High quality supplier safe spot transport, 98% purity
APVP,apvp apvp High quality supplier safe spot transport, 98% purity
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
The Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion ProductionThe Impact of PLM Software on Fashion Production
The Impact of PLM Software on Fashion Production
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 

ICMT 2016: Search-Based Model Transformations with MOMoT

  • 1. Search-Based Model Transformations with MOMoT http://martin-fleck.github.io/momot/ ICMT, Vienna 4th July 2016 A Tool Demonstration Martin Fleck, Javier Troya, Manuel Wimmer
  • 2. Problem Statement 2 Solving Complex Optimization Problems  Example: Class Responsibility Assignment Problem  Modularization of features into classes
  • 3. Problem Statement 2 Solving Complex Optimization Problems  Example: Class Responsibility Assignment Problem  Modularization of features into classes 1 2 5 15 52 203 … 1 10 100 1,000 10,000 100,000 1,000,000 10,000,000 100,000,000 1,000,000,000 10,000,000,000 100,000,000,000 1,000,000,000,000 10,000,000,000,000 100,000,000,000,000 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 NumberofPossibilities Number of Features
  • 4. 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
  • 5. Trans- formations? Problem Statement 3 Solving Complex Optimization Problems Rule createClass(className: EString) «preserve» : ClassModel «forbid» : Class name = className «create» : Class name = className «create» classesclasses «forbid» Rule assignFeature(feature: Feature, class: Class) @ClassModel «preserve» feature : Feature «forbid» : Class «preserve» class : Class «create» moduleclass «forbid»
  • 6. Problem Statement 3 Solving Complex Optimization Problems Coupling? Cohesion? ?
  • 7.  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» : Class name = className «create» : Class name = className «create» classesclasses «forbid» Rule assignFeature(feature: Feature, class: Class) @ClassModel «preserve» feature : Feature «forbid» : Class «preserve» class : Class «create» moduleclass «forbid»
  • 8.  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» : Class name = className «create» : Class name = className «create» classesclasses «forbid» Rule assignFeature(feature: Feature, class: Class) @ClassModel «preserve» feature : Feature «forbid» : Class «preserve» class : Class «create» moduleclass «forbid»
  • 10.  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
  • 11.  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)
  • 12.  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 k random (k = 4) = 1 = 3 = 2 = 4 Population (size = 10)
  • 13.  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 k random (k = 4) Choose n best (n = 2) = 1 = 3 = 2 = 4 Population (size = 10)
  • 14.  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 k random (k = 4) Choose n best (n = 2) Recombine = 1 = 3 = 2 = 4 Population (size = 10) Cut Point
  • 15.  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 k random (k = 4) Choose n best (n = 2) Recombine Mutate = 1 = 3 = 2 = 4 Population (size = 10) Cut Point
  • 16.  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 k random (k = 4) Choose n best (n = 2) Recombine Mutate = 1 = 3 = 2 = 4 Population (size = 10) Cut Point Transformation Units = Decision Variables rule = createClass name = 'Class A' rule = assignFeature class = Class A feature = Feature A Placeholder rule = createClass name = 'Class B'
  • 17.  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 Values Generic Encoding Search-based Exploration Result Generation Constraint Values Rule Orchestrations Exploration Statistics Objective and Constraint Evaluation Transformation Orchestration [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
  • 18. Search-Based Model Transformations 7 Demo Demo (linked in next slide and available at https://www.youtube.com/watch?v=BQDz6OmxABE)
  • 19.  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 Values Generic Encoding Search-based Exploration Result Generation Constraint Values Rule Orchestrations Exploration Statistics Objective and Constraint Evaluation Transformation Orchestration
  • 20.  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 Values Generic Encoding Search-based Exploration Result Generation Constraint Values Rule Orchestrations Exploration Statistics Objective and Constraint Evaluation Transformation Orchestration
  • 21. Search-Based Model Transformations with MOMoT http://martin-fleck.github.io/momot/ ICMT, Vienna 4th July 2016 A Tool Demonstration Martin Fleck, Javier Troya, Manuel Wimmer

Notes de l'éditeur

  1. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  2. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  3. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  4. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  5. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  6. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.
  7. Mention Input-Output Transformation Concrete algorithms include local search methods such as Tabu Search [10] and Simulated Annealing [14], or genetic algorithms [12] such as NSGA-II [6] and NSGA-III [5]. Therefore, an alternative approach is the usage of meta-heuristics that are problem-independent. This line is investigated by Search-Based Software Engineering (SBSE) [11], which is a lively research field applying search-based optimization techniques to software engineering problems. Search-based optimization techniques deal with large or even infinite search spaces in an efficient manner.