Heuristic-based Recommendation for Metamodel–OCL Coevolution

Slides:



Advertisements
Similar presentations
Informed search algorithms
Advertisements

Topic Outline ? Black-Box Optimization Optimization Algorithm: only allowed to evaluate f (direct search) decision vector x objective vector f(x) objective.
Greedy best-first search Use the heuristic function to rank the nodes Search strategy –Expand node with lowest h-value Greedily trying to find the least-cost.
Ali Husseinzadeh Kashan Spring 2010
CS6800 Advanced Theory of Computation
1 An Adaptive GA for Multi Objective Flexible Manufacturing Systems A. Younes, H. Ghenniwa, S. Areibi uoguelph.ca.
I/O-Algorithms Lars Arge Fall 2014 September 25, 2014.
Elitist Non-dominated Sorting Genetic Algorithm: NSGA-II
Iterative Optimization of Hierarchical Clusterings Doug Fisher Department of Computer Science, Vanderbilt University Journal of Artificial Intelligence.
A New Evolutionary Algorithm for Multi-objective Optimization Problems Multi-objective Optimization Problems (MOP) –Definition –NP hard By Zhi Wei.
Multi-Objective Evolutionary Algorithms Matt D. Johnson April 19, 2007.
A new crossover technique in Genetic Programming Janet Clegg Intelligent Systems Group Electronics Department.
Issues with Data Mining
Genetic Algorithms and Ant Colony Optimisation
Breeding Decision Trees Using Evolutionary Techniques Papagelis Athanasios - Kalles Dimitrios Computer Technology Institute & AHEAD RM.
Cristian Urs and Ben Riveira. Introduction The article we chose focuses on improving the performance of Genetic Algorithms by: Use of predictive models.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University A Multi-Objective.
A two-stage approach for multi- objective decision making with applications to system reliability optimization Zhaojun Li, Haitao Liao, David W. Coit Reliability.
Chapter 7 Handling Constraints
Design of an Evolutionary Algorithm M&F, ch. 7 why I like this textbook and what I don’t like about it!
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
Fuzzy Genetic Algorithm
Genetic Algorithms Siddhartha K. Shakya School of Computing. The Robert Gordon University Aberdeen, UK
2005MEE Software Engineering Lecture 11 – Optimisation Techniques.
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Optimization Problems
Class Scheduling Using Constraint Satisfaction Victoria Donelson Garrett Grimsley.
Estimation of Distribution Algorithm and Genetic Programming Structure Complexity Lab,Seoul National University KIM KANGIL.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Intelligent Database Systems Lab 國立雲林科技大學 National Yunlin University of Science and Technology 1 Intelligent Exploration for Genetic Algorithms Using Self-Organizing.
Introduction to genetic algorithm
Optimization Problems
Power Magnetic Devices: A Multi-Objective Design Approach
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Genetic Algorithm in TDR System
An Evolutionary Approach
Automatic Synthesizer Preset Generation with PresetGen
Rule Induction for Classification Using
Presented by: Dr Beatriz de la Iglesia
Analyzing the Validity of Selective Mutation with Dominator Mutants
MultiRefactor: Automated Refactoring To Improve Software Quality
Local Search Algorithms
Multy- Objective Differential Evolution (MODE)
Data Mining (and machine learning)
Advanced Artificial Intelligence Evolutionary Search Algorithm
Uniformed Search (cont.) Computer Science cpsc322, Lecture 6
Genetic Improvement CHORDS GROUP Stirling University
Basics of Genetic Algorithms (MidTerm – only in RED material)
A Generic Framework for Model-Set Selection for the
Towards the Automated Recovery of Complex Temporal API-Usage Patterns
Injecting Social Diversity in Multi-Objective Genetic Programing:
Optimization Problems
Multi-Objective Optimization
3. Brute Force Selection sort Brute-Force string matching
Aiman H. El-Maleh Sadiq M. Sait Syed Z. Shazli
Basics of Genetic Algorithms
Methods and Materials (cont.)
Solving the Minimum Labeling Spanning Tree Problem
EE368 Soft Computing Genetic Algorithms.
3. Brute Force Selection sort Brute-Force string matching
A Framework for Testing Query Transformation Rules
Search.
Traveling Salesman Problem by Genetic Algorithm
Search.
Evolutionary Ensembles with Negative Correlation Learning
Lecture 4: Tree Search Strategies
Coevolutionary Automated Software Correction
3. Brute Force Selection sort Brute-Force string matching
Presentation transcript:

Heuristic-based Recommendation for Metamodel–OCL Coevolution Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis DIRO, Université de Montréal

OCL basics: Family tree example Type graph 19/11/2018 father Person mother Metamodel = Type graph + constraints To exclude the bad ones, we need this OCL constraints: A person cannot be its own mother or father Here, mention that this example is trivial but that non OCL expert (non IT expert) will struggle writing the rules, and struggle even more maintaining them coherent with the metamodel. Helping if it is to be change. Context Person: inv inheritance_bares_no_loop_mum: self.mother->closure()->excludes(self) inv inheritance_bares_no_loop_dad: self.father->closure()->excludes(self) … transitively.

Schematically: Type graph Metamodel OCL Instance model 19/11/2018

OCL Coevolution What happens if the type model changes ? father Person mother mum 19/11/2018 Name change in type graph impacts OCL constraints Context Person: inv inheritance_bares_no_loop_mum: self.mother->closure()->excludes(self) inv inheritance_bares_no_loop_dad: self.father->closure()->excludes(self) mum More complicated example of evolution self.category.nameCategory self.nameCategory Employee name:Estring age:EInt salary:Edouble nameCategory:EString Employee Category nameCategory:EString 1 * name:Estring age:EInt salary:Edouble category Indirection inserted

Problem: OCL Coevolution Type graph version 1.0 Type graph version 2.0 19/11/2018 Instance model Instance model Instance model Instance model Instance model Instance model / ? Instance model Instance model Instance model OCL ? OCL Usually: Force determinism, or Trace rationale behind high-level changes

Our Approach 19/11/2018 Heuristic search Recommendation 1 2 3 4

Additional Benefits Does not depend on tracing of high level changes (tedious, error-prone) Search a large solution space (chance for innovation) Extensible framework for new coevolution strategies (as new mutation ops) 19/11/2018

Outline 19/11/2018 Heuristic search Recommendation 1 2 3 4

Sorting within the fronts Heuristic Search: Genetic programming Repeat until end condition is reached 19/11/2018 Non-dominance Sorting Crowding distance Sorting within the fronts Genetic operators G0 Front 1 Front 3 Front 2 Front 5 Front 4 G1 Pareto front Output Front 3 Non-Sorting Genetic Algorithm - 2 Q0 Rejected Non-sorting Genetic Algorithm – II (NSGA-II)

Heuristic Search: Genetic programming 19/11/2018 Representation: a solution is a set of OCL constraints Each constraint: Ecore Abstract Syntax Tree In each generation, OCL evolved by crossovers and mutations End condition: Stabilization, at 300 iterations

Heuristic Objectives Minimize change Minimize syntax error # of mutations/crossover applied from original Minimize syntax error # of rules fired (Not strict zero to loosen the search) Minimize information loss # of metamodel elements removed during OCL evolution 19/11/2018

Genetic operators Solution representation and creation Initial generation = original set of OCL constraints Point-cut crossover 19/11/2018 C 1-1 1-2 1-3 1-4 1-5 2-1 2-2 2-3 2-4 Parent 1 Parent 2 Point-cut Child 1 Child 2 Crossover 2-5 Mutation patterns Renaming Context change Pruning Indirection insertion Change typing methode C1-4 mutant C 1-1 1-2 1-3 1-4 1-5 Parent Mutation CM Child : Constraint X-X Set of constraint Mutated set of constraint

Output Set: Solutions NSGA-II: Multi-objective non-dominant search Output: Pareto front of solutions No total ordering All solutions in the front are “equally good” No solution dominates Output can be too large to present to user Instead: generate recommendations 19/11/2018

Outline 19/11/2018 Heuristic search Recommendation 1 2 3 4

Recommending solutions NSGA-II gives many solutions (Pareto front) Which one is of user’s interest? 19/11/2018 Two strategies: Ranking solutions using fitness objectives Clustering solutions with syntactic comparison Levenstein distance Centroid Abstract centre of a cluster Pareto front Clusters Recommendations Solutions representative of their cluster (closest to the centroid)

Outline 19/11/2018 Heuristic search Recommendation 1 2 3 4

Evaluation RQ0: Are the results of our approach attributable to the search strategy or to the number of explored solutions? RQ1: To which extent our approach finds the expected solution? RQ2: To which extent our approach recommends the expected solution? Setup 3 metamodels of different sizes (Family, State Machine, Project Management) 30 executions for each metamodel/OCL couple 300 iterations with a population of 100 set of constraints 19/11/2018

RQ0: Sanity check Better than random search 19/11/2018 Better than random search Same number of solutions explored, way better results

RQ1: Algorithm recall Family State Machine Project Management 19/11/2018 ?! # of expected solutions found Family and State Machine cases: solutions found Project Management case contains two missing constraints that require particularly complex changes To address such changes we aim at expanding the mutation operator store a constraint whose syntax exactly matches the expected evolved version has been correctly updated

RQ2: Recommendation system precision Family State Machine Project Management 19/11/2018 # of expected solutions recommended Accuracy of the recommender grows with the number of recommendations No dramatic increase beyond 7 Simple ranking is a better recommendation strategy Clustering is computationally costlier

Conclusion Metamodel-OCL Coevolution is crucial to DSML design and maintenance Our approach Multi-objective optimization problem Recommendation of a subset of generated solutions Benefits Does not depend on tracing high-level changes Does not assume single solution Explores a large solution space Extensible with new coevolution strategies High recall; Efficient ranking-based recommendation 19/11/2018 Heuristic search Recommendation 1 2 3 4 Problem definition Approach Evaluation Conclusion

Heuristic-based Recommendation for Metamodel–OCL Coevolution Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis