Added array analysis (computes paths used to add elements/tuples to sets/relations.
[repair.git] / Repair / RepairCompiler / MCC / test2.model.dep
1 // dependency information for 
2 // testabstract from sEXT2
3
4 1-6: none
5
6 7: delayed 14
7 8: delayed 1 2 3 4 5 11
8
9  9: 3     6
10 10: 3     6   14
11 11: 3     6   14
12 12:   4
13 13:   4
14 14:         9
15 15:         9
16 16: 3     6   14
17 17: 3     6   14
18 18:     5
19 19:     5
20
21  9: 3 6
22 10: 3 6 14
23 11: 3 6 14
24 12: 4
25 13: 4
26 14: 9
27 15: 9
28 16: 3 6 14
29 17: 3 6 14
30 18: 5
31 19: 5
32  
33
34 algorithm:
35
36 a. if quantifiers are empty than rule has no dependencies
37 b. if not ( x in Set ) or relation than dependent on everything that
38    touches the Set or Relation (also known as delayed).
39 c. otherwise, if set or relation mentioned in quantifier, edge between
40    that rule and any rule who modifies that set or relation (in the 
41    inclusion constraint portion of any rule)
42
43
44 // dependency information betweeen constraints and rules
45
46  1:           6           12 13 14
47  2:             7         12 13
48  3: 1 2 3 4 5          11                   18 19
49  4:               8                         18 19
50  5:           6                 14 15 16
51  6:           6     10          14       17
52  7:                 10 11
53  8: 1
54  9:   2
55 10:     3
56 11:       4
57 12:         5
58 13:           6
59
60  1:  6 12 13 14
61  2:  7 12 13
62  3:  1  2  3  4  5 11 18 19
63  4:  8 18 19
64  5:  6 14 15 16
65  6:  6 10 14 17
66  7: 10 11
67  8:  1
68  9:  2
69 10:  3 
70 11:  4
71 12:  5
72 13:  6 
73
74
75 algorithm:
76
77 a. if quantifier mentions a set, include all rules that touch that set
78    or its subsets/partitions
79 b. if the body mentions a set or relation, add that an edge to any rule
80    that touches those sets or relations
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108