Heuristic-based Recommendation for Metamodel–OCL Coevolution
Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis
DIRO, Université de Montréal
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
Edouard Batot, Wael Kessentini, Houari Sahraoui, Michalis Famelis
DIRO, Université de Montréal
21/11/2017
2 To exclude the bad ones, we need this OCL constraints:
father
Person
mother
Type graph
Context Person: inv inheritance_bares_no_loop_mum: self.mother->closure()->excludes(self) inv inheritance_bares_no_loop_dad: self.father->closure()->excludes(self)
A person cannot be its
… transitively. Metamodel = Type graph + constraints
21/11/2017
3 Type graph OCL
Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model
Metamodel
Context Person: inv inheritance_bares_no_loop_mum: self.mother->closure()->excludes(self) inv inheritance_bares_no_loop_dad: self.father->closure()->excludes(self)
21/11/2017
4
Employee name:Estring age:EInt salary:Edouble nameCategory:EString Employee Category nameCategory:EString 1 * name:Estring age:EInt salary:Edouble
category
self.nameCategory self.category.nameCategory
Name change in type graph impacts OCL constraints
father
Person
mother mum mum
Indirection inserted
21/11/2017
5
Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model Instance model
OCL ? Type graph version 1.0 Type graph version 2.0 OCL / ?
21/11/2017
6 Heuristic search 1 2 3 4 Recommendation
21/11/2017
7
21/11/2017
8 Heuristic search 1 2 3 4 Recommendation
21/11/2017
9 Front 3 Front 1 Front 3 Front 2 Front 5 Front 4
G0 Q0 Rejected
G e n e t i c o p e r a t o r s
Non-dominance Sorting
Crowding distance Sorting within the fronts
G1 Repeat
Pareto front
until end condition is reached
Output
21/11/2017
10
21/11/2017
11
21/11/2017
12
C1-4 mutant C 1-1 C 1-2 C 1-3 C 1-4 C 1-5 Parent Mutation C 1-1 C 1-2 C 1-3 CM 1-4 C 1-5 Child : Constraint
C X-X
Set of constraint Mutated set of constraint C 1-1 C 1-2 C 1-3 C 1-4 C 1-5 C 2-1 C 2-2 C 2-3 C 2-4 Parent 1 Parent 2 C 1-1 C 1-2 C 1-3 C 1-4 C 1-5 C 2-1 C 2-2 C 2-3 C 2-4 Point-cut Child 1 Child 2 Crossover C 2-5 C 2-5
21/11/2017
13
21/11/2017
14 Heuristic search 1 2 3 4 Recommendation
Which one is of user’s interest?
21/11/2017
15
Recommendations Solutions representative
(closest to the centroid) Clusters Pareto front Centroid Abstract centre
21/11/2017
16 Heuristic search 1 2 3 4 Recommendation
search strategy or to the number of explored solutions?
solution?
expected solution?
21/11/2017
17
21/11/2017
18
21/11/2017
19
10 20 30
1/5 2/5 3/5 4/5 5/5 # of constraints fixed
10 20 30
1/6 2/6 3/6 4/6 5/6 6/6 # of constraints fixed
10 20 30
1/4 2/4 3/4 4/4
# of executions
# of constraints fixed
# of expected solutions found
require particularly complex changes
Family State Machine Project Management
21/11/2017
20
1 2 3 4 3 5 7 9 11 13 15 17 19 # of constraints fixed
# of recommendations Clusters Ranking Pareto
1 2 3 4 5 3 5 7 9 11 13 15 17 19 # of recommendations Clusters Ranking Pareto 1 2 3 4 5 6 3 5 7 9 11 13 15 17 19 # of recommendations Clusters Ranking Pareto
# of expected solutions recommended
recommendations
Clustering is computationally costlier
Family State Machine Project Management
maintenance
1. Multi-objective optimization problem 2. Recommendation of a subset of generated solutions
21/11/2017
21
Problem definition Approach Evaluation Conclusion
Heuristic search 1 2 3 4 Recommendation