heuristic based recommendation for
play

Heuristic-based Recommendation for Metamodel OCL Coevolution - PowerPoint PPT Presentation

Heuristic-based Recommendation for Metamodel OCL Coevolution Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis DIRO, Universit de Montral OCL basics: Family tree example Type graph mother father 21/11/2017 Person


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

  2. OCL basics: Family tree example Type graph mother father 21/11/2017 Person Metamodel = Type graph + constraints To exclude the bad ones, we need this OCL constraints: Context Person: inv inheritance_bares_no_loop_mum: self.mother->closure()->excludes(self) inv inheritance_bares_no_loop_dad: A person cannot be its self.father->closure()->excludes(self) own mother or father 2 … transitively.

  3. Schematically: Type graph Instance model Metamodel 21/11/2017 Instance model Instance model Instance model Instance model OCL Instance model Instance Instance model model 3

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

  5. Problem: OCL Coevolution Type graph version 1.0 Type graph version 2.0 Instance Instance 21/11/2017 model model Instance Instance Instance Instance model model model model Instance Instance model model Instance Instance model model / ? Instance model Instance Instance model Instance model model Instance OCL ? Instance model model OCL Usually: 5 • Force determinism, or • Trace rationale behind high-level changes

  6. Our Approach Heuristic 21/11/2017 search Recommendation 6 1 2 3 4

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

  8. Outline Heuristic 21/11/2017 search Recommendation 8 1 2 3 4

  9. Heuristic Search: Genetic programming Repeat until end condition is reached Non-dominance Crowding distance 21/11/2017 Sorting within the fronts Sorting Pareto Front 1 front G e n e t i c o p e r a t o r s Output Front 2 Front 3 G0 G1 Front 3 Front 4 Rejected Front 5 Q0 9 Non-sorting Genetic Algorithm – II (NSGA-II)

  10. Heuristic Search: Genetic programming 21/11/2017 • 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 10

  11. Heuristic Objectives 1. Minimize change 21/11/2017 • # of mutations/crossover applied from original 2. Minimize syntax error • # of rules fired (Not strict zero to loosen the search) 3. Minimize information loss • # of metamodel elements removed during OCL evolution 11

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

  13. Output Set: Solutions • NSGA-II: Multi-objective non-dominant search 21/11/2017 • 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 13

  14. Outline Heuristic 21/11/2017 search Recommendation 14 1 2 3 4

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

  16. Outline Heuristic 21/11/2017 search Recommendation 16 1 2 3 4

  17. Evaluation • RQ0 : Are the results of our approach attributable to the search strategy or to the number of explored solutions? 21/11/2017 • 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 17

  18. RQ0: Sanity check 21/11/2017 • Better than random search • Same number of solutions explored, way better results 18

  19. RQ1: Algorithm recall Family State Machine Project Management 30 30 30 # of executions 20 20 20 21/11/2017 10 10 10 0 0 0 1/4 2/4 3/4 4/4 1/5 2/5 3/5 4/5 5/5 1/6 2/6 3/6 4/6 5/6 6/6 # of constraints fixed # of constraints fixed # of constraints fixed # 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 19 operator store

  20. RQ2: Recommendation system precision Family State Machine Project Management 4 5 6 5 # of constraints fixed 4 3 4 21/11/2017 3 2 3 Clusters 2 Clusters 2 Clusters 1 Ranking Ranking 1 Ranking 1 Pareto Pareto Pareto 0 0 0 3 5 7 9 11 13 15 17 19 3 5 7 9 11 13 15 17 19 3 5 7 9 11 13 15 17 19 # of recommendations # of recommendations # of recommendations # of expected solutions recommended • Accuracy of the recommender grows with the number of recommendations • No dramatic increase beyond 7 20 • Simple ranking is a better recommendation strategy Clustering is computationally costlier

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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend