aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF5
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/IRREALISTIC1NEIGHBOURHOOD.gml440
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/REALISTIC1NEIGHBOURHOOD.gml520
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleMODEL.gml752
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleNEIGHBOURHOOD.gml210
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml724
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic0NEIGHBOURHOOD.gml304
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic1NEIGHBOURHOOD.gml374
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic2NEIGHBOURHOOD.gml560
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic3NEIGHBOURHOOD.gml639
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealisticMODEL.gml698
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic0NEIGHBOURHOOD.gml314
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic1NEIGHBOURHOOD.gml621
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic2NEIGHBOURHOOD.gml559
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic3NEIGHBOURHOOD.gml599
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealisticMODEL.gml736
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml8
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/cycle.xmi21
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCIrrealistic.xmi14
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCRealistic.xmi14
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.aird231
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.ecore16
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.genmodel20
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend8
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Entry.java50
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartFactory.java60
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartPackage.java340
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/State.java42
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Statechart.java69
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/EntryImpl.java157
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartFactoryImpl.java117
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartPackageImpl.java252
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StateImpl.java133
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StatechartImpl.java221
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartAdapterFactory.java156
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartSwitch.java152
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbinbin7376 -> 7750 bytes
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java10
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Neighbourhood2Gml.xtend115
39 files changed, 10211 insertions, 50 deletions
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF
index 7ae55080..b9c65c38 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF
@@ -10,7 +10,10 @@ Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.realistic.metrics
10Bundle-RequiredExecutionEnvironment: JavaSE-1.8 10Bundle-RequiredExecutionEnvironment: JavaSE-1.8
11Export-Package: linkedList, 11Export-Package: linkedList,
12 linkedList.impl, 12 linkedList.impl,
13 linkedList.util 13 linkedList.util,
14 simpleStatechart,
15 simpleStatechart.impl,
16 simpleStatechart.util
14Require-Bundle: org.eclipse.core.runtime, 17Require-Bundle: org.eclipse.core.runtime,
15 org.eclipse.emf.ecore;bundle-version="2.14.0";visibility:=reexport, 18 org.eclipse.emf.ecore;bundle-version="2.14.0";visibility:=reexport,
16 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", 19 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/IRREALISTIC1NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/IRREALISTIC1NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..ef560678
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/IRREALISTIC1NEIGHBOURHOOD.gml
@@ -0,0 +1,440 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x -352.0
15 y -118.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[Entry class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 319.0
40 y 34.0
41 w 137.5
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[State class] (4)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x 75.0
65 y -196.0
66 w 176.0
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[Statechart class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x 90.0
90 y 247.0
91 w 137.5
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[State class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 edge
109 [
110 source 0
111 target 3
112 label "entry reference Entry"
113 graphics
114 [
115 fill "#000000"
116 targetArrow "standard"
117 Line
118 [
119 point
120 [
121 x -352.0
122 y -118.0
123 ]
124 point
125 [
126 x -362.0
127 y 247.0
128 ]
129 point
130 [
131 x 90.0
132 y 247.0
133 ]
134 ]
135 ]
136 edgeAnchor
137 [
138 xSource -0.14545454545454545
139 ]
140 LabelGraphics
141 [
142 text "entry reference Entry"
143 fontSize 12
144 fontName "Dialog"
145 configuration "AutoFlippingLabel"
146 contentWidth 116.048828125
147 contentHeight 18.701171875
148 model "six_pos"
149 position "head"
150 ]
151 LabelGraphics
152 [
153 text "[1]"
154 fontSize 12
155 fontName "Dialog"
156 configuration "AutoFlippingLabel"
157 contentWidth 17.341796875
158 contentHeight 18.701171875
159 model "six_pos"
160 position "stail"
161 ]
162 LabelGraphics
163 [
164 text "[1]"
165 fontSize 12
166 fontName "Dialog"
167 configuration "AutoFlippingLabel"
168 contentWidth 17.341796875
169 contentHeight 18.701171875
170 model "six_pos"
171 position "ttail"
172 ]
173 ]
174 edge
175 [
176 source 1
177 target 1
178 label "next reference State"
179 graphics
180 [
181 fill "#000000"
182 targetArrow "standard"
183 Line
184 [
185 point
186 [
187 x 319.0
188 y 34.0
189 ]
190 point
191 [
192 x 319.0
193 y -122.0
194 ]
195 point
196 [
197 x 319.0
198 y 34.0
199 ]
200 ]
201 ]
202 LabelGraphics
203 [
204 text "next reference State"
205 fontSize 12
206 fontName "Dialog"
207 configuration "AutoFlippingLabel"
208 contentWidth 112.064453125
209 contentHeight 18.701171875
210 model "six_pos"
211 position "head"
212 ]
213 LabelGraphics
214 [
215 text "[1, 1, 1]"
216 fontSize 12
217 fontName "Dialog"
218 configuration "AutoFlippingLabel"
219 contentWidth 44.025390625
220 contentHeight 18.701171875
221 model "six_pos"
222 position "stail"
223 ]
224 LabelGraphics
225 [
226 text "[1, 1, 0]"
227 fontSize 12
228 fontName "Dialog"
229 configuration "AutoFlippingLabel"
230 contentWidth 44.025390625
231 contentHeight 18.701171875
232 model "six_pos"
233 position "shead"
234 ]
235 ]
236 edge
237 [
238 source 2
239 target 3
240 label "state reference Statechart"
241 graphics
242 [
243 fill "#000000"
244 targetArrow "standard"
245 Line
246 [
247 point
248 [
249 x 75.0
250 y -196.0
251 ]
252 point
253 [
254 x 65.0
255 y 173.5
256 ]
257 point
258 [
259 x 90.0
260 y 173.5
261 ]
262 point
263 [
264 x 90.0
265 y 247.0
266 ]
267 ]
268 ]
269 edgeAnchor
270 [
271 xSource -0.11363636363636363
272 ]
273 LabelGraphics
274 [
275 text "state reference Statechart"
276 fontSize 12
277 fontName "Dialog"
278 configuration "AutoFlippingLabel"
279 contentWidth 142.076171875
280 contentHeight 18.701171875
281 model "six_pos"
282 position "head"
283 ]
284 LabelGraphics
285 [
286 text "[4, 1]"
287 fontSize 12
288 fontName "Dialog"
289 configuration "AutoFlippingLabel"
290 contentWidth 30.68359375
291 contentHeight 18.701171875
292 model "six_pos"
293 position "stail"
294 ]
295 LabelGraphics
296 [
297 text "[1]"
298 fontSize 12
299 fontName "Dialog"
300 configuration "AutoFlippingLabel"
301 contentWidth 17.341796875
302 contentHeight 18.701171875
303 model "six_pos"
304 position "ttail"
305 ]
306 ]
307 edge
308 [
309 source 2
310 target 0
311 label "entry reference Statechart"
312 graphics
313 [
314 fill "#000000"
315 targetArrow "standard"
316 Line
317 [
318 point
319 [
320 x 75.0
321 y -196.0
322 ]
323 point
324 [
325 x -377.0
326 y -196.0
327 ]
328 point
329 [
330 x -352.0
331 y -118.0
332 ]
333 ]
334 ]
335 edgeAnchor
336 [
337 xTarget -0.36363636363636365
338 ]
339 LabelGraphics
340 [
341 text "entry reference Statechart"
342 fontSize 12
343 fontName "Dialog"
344 configuration "AutoFlippingLabel"
345 contentWidth 142.73828125
346 contentHeight 18.701171875
347 model "six_pos"
348 position "head"
349 ]
350 LabelGraphics
351 [
352 text "[1]"
353 fontSize 12
354 fontName "Dialog"
355 configuration "AutoFlippingLabel"
356 contentWidth 17.341796875
357 contentHeight 18.701171875
358 model "six_pos"
359 position "stail"
360 ]
361 LabelGraphics
362 [
363 text "[1]"
364 fontSize 12
365 fontName "Dialog"
366 configuration "AutoFlippingLabel"
367 contentWidth 17.341796875
368 contentHeight 18.701171875
369 model "six_pos"
370 position "ttail"
371 ]
372 ]
373 edge
374 [
375 source 3
376 target 1
377 label "next reference State"
378 graphics
379 [
380 fill "#000000"
381 targetArrow "standard"
382 Line
383 [
384 point
385 [
386 x 90.0
387 y 247.0
388 ]
389 point
390 [
391 x 309.0
392 y 241.5
393 ]
394 point
395 [
396 x 319.0
397 y 34.0
398 ]
399 ]
400 ]
401 edgeAnchor
402 [
403 ySource -0.275
404 xTarget -0.14545454545454545
405 ]
406 LabelGraphics
407 [
408 text "next reference State"
409 fontSize 12
410 fontName "Dialog"
411 configuration "AutoFlippingLabel"
412 contentWidth 112.064453125
413 contentHeight 18.701171875
414 model "six_pos"
415 position "head"
416 ]
417 LabelGraphics
418 [
419 text "[1]"
420 fontSize 12
421 fontName "Dialog"
422 configuration "AutoFlippingLabel"
423 contentWidth 17.341796875
424 contentHeight 18.701171875
425 model "six_pos"
426 position "stail"
427 ]
428 LabelGraphics
429 [
430 text "[1, 0, 0]"
431 fontSize 12
432 fontName "Dialog"
433 configuration "AutoFlippingLabel"
434 contentWidth 44.025390625
435 contentHeight 18.701171875
436 model "six_pos"
437 position "ttail"
438 ]
439 ]
440]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/REALISTIC1NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/REALISTIC1NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..6df09856
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/REALISTIC1NEIGHBOURHOOD.gml
@@ -0,0 +1,520 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x -117.0
15 y -42.5
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x -357.0
40 y -128.0
41 w 137.5
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[Entry class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x -366.0
65 y 195.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[State class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x -127.0
90 y 356.0
91 w 137.5
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[State class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 node
109 [
110 id 4
111 label ""
112 graphics
113 [
114 x 196.0
115 y 265.0
116 w 137.5
117 h 40.0
118 type "roundrectangle"
119 fill "#FFCC00"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 ]
125 LabelGraphics
126 [
127 text "[State class] (2)"
128 fontSize 14
129 fontName "Dialog"
130 anchor "c"
131 ]
132 ]
133 node
134 [
135 id 5
136 label ""
137 graphics
138 [
139 x 111.0
140 y -185.0
141 w 176.0
142 h 40.0
143 type "roundrectangle"
144 fill "#FFCC00"
145 outline "#000000"
146 ]
147 LabelGraphics
148 [
149 ]
150 LabelGraphics
151 [
152 text "[Statechart class] (1)"
153 fontSize 14
154 fontName "Dialog"
155 anchor "c"
156 ]
157 ]
158 edge
159 [
160 source 1
161 target 2
162 label "entry reference Entry"
163 graphics
164 [
165 fill "#000000"
166 targetArrow "standard"
167 ]
168 edgeAnchor
169 [
170 xSource -0.13090909090909092
171 ]
172 LabelGraphics
173 [
174 text "entry reference Entry"
175 fontSize 12
176 fontName "Dialog"
177 configuration "AutoFlippingLabel"
178 contentWidth 116.048828125
179 contentHeight 18.701171875
180 model "six_pos"
181 position "head"
182 ]
183 LabelGraphics
184 [
185 text "[1]"
186 fontSize 12
187 fontName "Dialog"
188 configuration "AutoFlippingLabel"
189 contentWidth 17.341796875
190 contentHeight 18.701171875
191 model "six_pos"
192 position "stail"
193 ]
194 LabelGraphics
195 [
196 text "[1]"
197 fontSize 12
198 fontName "Dialog"
199 configuration "AutoFlippingLabel"
200 contentWidth 17.341796875
201 contentHeight 18.701171875
202 model "six_pos"
203 position "ttail"
204 ]
205 ]
206 edge
207 [
208 source 3
209 target 0
210 label "next reference State"
211 graphics
212 [
213 fill "#000000"
214 targetArrow "standard"
215 ]
216 edgeAnchor
217 [
218 xTarget -0.14545454545454545
219 ]
220 LabelGraphics
221 [
222 text "next reference State"
223 fontSize 12
224 fontName "Dialog"
225 configuration "AutoFlippingLabel"
226 contentWidth 112.064453125
227 contentHeight 18.701171875
228 model "six_pos"
229 position "head"
230 ]
231 LabelGraphics
232 [
233 text "[2, 1, 1]"
234 fontSize 12
235 fontName "Dialog"
236 configuration "AutoFlippingLabel"
237 contentWidth 44.025390625
238 contentHeight 18.701171875
239 model "six_pos"
240 position "stail"
241 ]
242 LabelGraphics
243 [
244 text "[1]"
245 fontSize 12
246 fontName "Dialog"
247 configuration "AutoFlippingLabel"
248 contentWidth 17.341796875
249 contentHeight 18.701171875
250 model "six_pos"
251 position "ttail"
252 ]
253 ]
254 edge
255 [
256 source 2
257 target 3
258 label "next reference State"
259 graphics
260 [
261 fill "#000000"
262 targetArrow "standard"
263 Line
264 [
265 point
266 [
267 x -366.0
268 y 195.0
269 ]
270 point
271 [
272 x -390.0
273 y 215.0
274 ]
275 point
276 [
277 x -390.0
278 y 356.0
279 ]
280 point
281 [
282 x -127.0
283 y 356.0
284 ]
285 ]
286 ]
287 edgeAnchor
288 [
289 ySource 1.0
290 xTarget -0.2909090909090909
291 ]
292 LabelGraphics
293 [
294 text "next reference State"
295 fontSize 12
296 fontName "Dialog"
297 configuration "AutoFlippingLabel"
298 contentWidth 112.064453125
299 contentHeight 18.701171875
300 model "six_pos"
301 position "head"
302 ]
303 LabelGraphics
304 [
305 text "[1]"
306 fontSize 12
307 fontName "Dialog"
308 configuration "AutoFlippingLabel"
309 contentWidth 17.341796875
310 contentHeight 18.701171875
311 model "six_pos"
312 position "stail"
313 ]
314 LabelGraphics
315 [
316 text "[1]"
317 fontSize 12
318 fontName "Dialog"
319 configuration "AutoFlippingLabel"
320 contentWidth 17.341796875
321 contentHeight 18.701171875
322 model "six_pos"
323 position "ttail"
324 ]
325 ]
326 edge
327 [
328 source 4
329 target 3
330 label "next reference State"
331 graphics
332 [
333 fill "#000000"
334 targetArrow "standard"
335 Line
336 [
337 point
338 [
339 x 196.0
340 y 265.0
341 ]
342 point
343 [
344 x 196.0
345 y 356.0
346 ]
347 point
348 [
349 x -127.0
350 y 356.0
351 ]
352 ]
353 ]
354 LabelGraphics
355 [
356 text "next reference State"
357 fontSize 12
358 fontName "Dialog"
359 configuration "AutoFlippingLabel"
360 contentWidth 112.064453125
361 contentHeight 18.701171875
362 model "six_pos"
363 position "head"
364 ]
365 LabelGraphics
366 [
367 text "[1, 1]"
368 fontSize 12
369 fontName "Dialog"
370 configuration "AutoFlippingLabel"
371 contentWidth 30.68359375
372 contentHeight 18.701171875
373 model "six_pos"
374 position "stail"
375 ]
376 LabelGraphics
377 [
378 text "[1]"
379 fontSize 12
380 fontName "Dialog"
381 configuration "AutoFlippingLabel"
382 contentWidth 17.341796875
383 contentHeight 18.701171875
384 model "six_pos"
385 position "ttail"
386 ]
387 ]
388 edge
389 [
390 source 5
391 target 0
392 label "state reference Statechart"
393 graphics
394 [
395 fill "#000000"
396 targetArrow "standard"
397 Line
398 [
399 point
400 [
401 x 111.0
402 y -185.0
403 ]
404 point
405 [
406 x 111.0
407 y -42.5
408 ]
409 point
410 [
411 x -117.0
412 y -42.5
413 ]
414 ]
415 ]
416 edgeAnchor
417 [
418 xTarget 0.16
419 ]
420 LabelGraphics
421 [
422 text "state reference Statechart"
423 fontSize 12
424 fontName "Dialog"
425 configuration "AutoFlippingLabel"
426 contentWidth 142.076171875
427 contentHeight 18.701171875
428 model "six_pos"
429 position "head"
430 ]
431 LabelGraphics
432 [
433 text "[1, 2, 1, 1]"
434 fontSize 12
435 fontName "Dialog"
436 configuration "AutoFlippingLabel"
437 contentWidth 57.3671875
438 contentHeight 18.701171875
439 model "six_pos"
440 position "stail"
441 ]
442 LabelGraphics
443 [
444 text "[1]"
445 fontSize 12
446 fontName "Dialog"
447 configuration "AutoFlippingLabel"
448 contentWidth 17.341796875
449 contentHeight 18.701171875
450 model "six_pos"
451 position "ttail"
452 ]
453 ]
454 edge
455 [
456 source 5
457 target 1
458 label "entry reference Statechart"
459 graphics
460 [
461 fill "#000000"
462 targetArrow "standard"
463 Line
464 [
465 point
466 [
467 x 111.0
468 y -185.0
469 ]
470 point
471 [
472 x -346.0
473 y -185.0
474 ]
475 point
476 [
477 x -357.0
478 y -128.0
479 ]
480 ]
481 ]
482 edgeAnchor
483 [
484 xTarget 0.16
485 ]
486 LabelGraphics
487 [
488 text "entry reference Statechart"
489 fontSize 12
490 fontName "Dialog"
491 configuration "AutoFlippingLabel"
492 contentWidth 142.73828125
493 contentHeight 18.701171875
494 model "six_pos"
495 position "head"
496 ]
497 LabelGraphics
498 [
499 text "[1]"
500 fontSize 12
501 fontName "Dialog"
502 configuration "AutoFlippingLabel"
503 contentWidth 17.341796875
504 contentHeight 18.701171875
505 model "six_pos"
506 position "stail"
507 ]
508 LabelGraphics
509 [
510 text "[1]"
511 fontSize 12
512 fontName "Dialog"
513 configuration "AutoFlippingLabel"
514 contentWidth 17.341796875
515 contentHeight 18.701171875
516 model "six_pos"
517 position "ttail"
518 ]
519 ]
520]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleMODEL.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleMODEL.gml
new file mode 100644
index 00000000..2dd8a1d8
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleMODEL.gml
@@ -0,0 +1,752 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 41.800000000000004
9 h 26
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "true"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 "
30 fontSize 14
31 fontName "Consolas"
32 alignment "left"
33 anchor "tl"
34 borderDistance 6
35 ]
36 ]
37
38 node
39 [
40 id 1
41 graphics
42 [
43 w 50.6
44 h 26
45 type "rectangle"
46 fill "#FFFFFF"
47 fill2 "#FFFFFF"
48 outline "#000000"
49 ]
50 LabelGraphics
51 [
52 text "false"
53 outline "#000000"
54 fill "#FFFFFF"
55 fontSize 16
56 fontName "Monospace"
57 autoSizePolicy "node_width"
58 anchor "t"
59 borderDistance 0.0
60 ]
61 LabelGraphics
62 [
63 text "
64 "
65 fontSize 14
66 fontName "Consolas"
67 alignment "left"
68 anchor "tl"
69 borderDistance 6
70 ]
71 ]
72
73 node
74 [
75 id 2
76 graphics
77 [
78 w 115.50000000000001
79 h 40
80 type "rectangle"
81 fill "#FFFFFF"
82 fill2 "#FFFFFF"
83 outline "#000000"
84 ]
85 LabelGraphics
86 [
87 text "null"
88 outline "#000000"
89 fill "#FFFFFF"
90 fontSize 16
91 fontName "Monospace"
92 autoSizePolicy "node_width"
93 anchor "t"
94 borderDistance 0.0
95 ]
96 LabelGraphics
97 [
98 text "
99 Element class
100 "
101 fontSize 14
102 fontName "Consolas"
103 alignment "left"
104 anchor "tl"
105 borderDistance 6
106 ]
107 ]
108
109 node
110 [
111 id 3
112 graphics
113 [
114 w 115.50000000000001
115 h 40
116 type "rectangle"
117 fill "#FFFFFF"
118 fill2 "#FFFFFF"
119 outline "#000000"
120 ]
121 LabelGraphics
122 [
123 text "null"
124 outline "#000000"
125 fill "#FFFFFF"
126 fontSize 16
127 fontName "Monospace"
128 autoSizePolicy "node_width"
129 anchor "t"
130 borderDistance 0.0
131 ]
132 LabelGraphics
133 [
134 text "
135 Element class
136 "
137 fontSize 14
138 fontName "Consolas"
139 alignment "left"
140 anchor "tl"
141 borderDistance 6
142 ]
143 ]
144
145 node
146 [
147 id 4
148 graphics
149 [
150 w 107.80000000000001
151 h 40
152 type "rectangle"
153 fill "#FFFFFF"
154 fill2 "#FFFFFF"
155 outline "#000000"
156 ]
157 LabelGraphics
158 [
159 text "null"
160 outline "#000000"
161 fill "#FFFFFF"
162 fontSize 16
163 fontName "Monospace"
164 autoSizePolicy "node_width"
165 anchor "t"
166 borderDistance 0.0
167 ]
168 LabelGraphics
169 [
170 text "
171 Object class
172 "
173 fontSize 14
174 fontName "Consolas"
175 alignment "left"
176 anchor "tl"
177 borderDistance 6
178 ]
179 ]
180
181 node
182 [
183 id 5
184 graphics
185 [
186 w 115.50000000000001
187 h 40
188 type "rectangle"
189 fill "#FFFFFF"
190 fill2 "#FFFFFF"
191 outline "#000000"
192 ]
193 LabelGraphics
194 [
195 text "null"
196 outline "#000000"
197 fill "#FFFFFF"
198 fontSize 16
199 fontName "Monospace"
200 autoSizePolicy "node_width"
201 anchor "t"
202 borderDistance 0.0
203 ]
204 LabelGraphics
205 [
206 text "
207 Element class
208 "
209 fontSize 14
210 fontName "Consolas"
211 alignment "left"
212 anchor "tl"
213 borderDistance 6
214 ]
215 ]
216
217 node
218 [
219 id 6
220 graphics
221 [
222 w 107.80000000000001
223 h 40
224 type "rectangle"
225 fill "#FFFFFF"
226 fill2 "#FFFFFF"
227 outline "#000000"
228 ]
229 LabelGraphics
230 [
231 text "null"
232 outline "#000000"
233 fill "#FFFFFF"
234 fontSize 16
235 fontName "Monospace"
236 autoSizePolicy "node_width"
237 anchor "t"
238 borderDistance 0.0
239 ]
240 LabelGraphics
241 [
242 text "
243 Object class
244 "
245 fontSize 14
246 fontName "Consolas"
247 alignment "left"
248 anchor "tl"
249 borderDistance 6
250 ]
251 ]
252
253 node
254 [
255 id 7
256 graphics
257 [
258 w 115.50000000000001
259 h 40
260 type "rectangle"
261 fill "#FFFFFF"
262 fill2 "#FFFFFF"
263 outline "#000000"
264 ]
265 LabelGraphics
266 [
267 text "null"
268 outline "#000000"
269 fill "#FFFFFF"
270 fontSize 16
271 fontName "Monospace"
272 autoSizePolicy "node_width"
273 anchor "t"
274 borderDistance 0.0
275 ]
276 LabelGraphics
277 [
278 text "
279 Element class
280 "
281 fontSize 14
282 fontName "Consolas"
283 alignment "left"
284 anchor "tl"
285 borderDistance 6
286 ]
287 ]
288
289 node
290 [
291 id 8
292 graphics
293 [
294 w 107.80000000000001
295 h 40
296 type "rectangle"
297 fill "#FFFFFF"
298 fill2 "#FFFFFF"
299 outline "#000000"
300 ]
301 LabelGraphics
302 [
303 text "null"
304 outline "#000000"
305 fill "#FFFFFF"
306 fontSize 16
307 fontName "Monospace"
308 autoSizePolicy "node_width"
309 anchor "t"
310 borderDistance 0.0
311 ]
312 LabelGraphics
313 [
314 text "
315 Object class
316 "
317 fontSize 14
318 fontName "Consolas"
319 alignment "left"
320 anchor "tl"
321 borderDistance 6
322 ]
323 ]
324
325 node
326 [
327 id 9
328 graphics
329 [
330 w 115.50000000000001
331 h 40
332 type "rectangle"
333 fill "#FFFFFF"
334 fill2 "#FFFFFF"
335 outline "#000000"
336 ]
337 LabelGraphics
338 [
339 text "null"
340 outline "#000000"
341 fill "#FFFFFF"
342 fontSize 16
343 fontName "Monospace"
344 autoSizePolicy "node_width"
345 anchor "t"
346 borderDistance 0.0
347 ]
348 LabelGraphics
349 [
350 text "
351 Element class
352 "
353 fontSize 14
354 fontName "Consolas"
355 alignment "left"
356 anchor "tl"
357 borderDistance 6
358 ]
359 ]
360
361 node
362 [
363 id 10
364 graphics
365 [
366 w 107.80000000000001
367 h 40
368 type "rectangle"
369 fill "#FFFFFF"
370 fill2 "#FFFFFF"
371 outline "#000000"
372 ]
373 LabelGraphics
374 [
375 text "null"
376 outline "#000000"
377 fill "#FFFFFF"
378 fontSize 16
379 fontName "Monospace"
380 autoSizePolicy "node_width"
381 anchor "t"
382 borderDistance 0.0
383 ]
384 LabelGraphics
385 [
386 text "
387 Object class
388 "
389 fontSize 14
390 fontName "Consolas"
391 alignment "left"
392 anchor "tl"
393 borderDistance 6
394 ]
395 ]
396
397 node
398 [
399 id 11
400 graphics
401 [
402 w 115.50000000000001
403 h 40
404 type "rectangle"
405 fill "#FFFFFF"
406 fill2 "#FFFFFF"
407 outline "#000000"
408 ]
409 LabelGraphics
410 [
411 text "null"
412 outline "#000000"
413 fill "#FFFFFF"
414 fontSize 16
415 fontName "Monospace"
416 autoSizePolicy "node_width"
417 anchor "t"
418 borderDistance 0.0
419 ]
420 LabelGraphics
421 [
422 text "
423 Element class
424 "
425 fontSize 14
426 fontName "Consolas"
427 alignment "left"
428 anchor "tl"
429 borderDistance 6
430 ]
431 ]
432
433 node
434 [
435 id 12
436 graphics
437 [
438 w 112.2
439 h 26
440 type "rectangle"
441 fill "#FFFFFF"
442 fill2 "#FFFFFF"
443 outline "#000000"
444 ]
445 LabelGraphics
446 [
447 text "New Integers"
448 outline "#000000"
449 fill "#FFFFFF"
450 fontSize 16
451 fontName "Monospace"
452 autoSizePolicy "node_width"
453 anchor "t"
454 borderDistance 0.0
455 ]
456 LabelGraphics
457 [
458 text "
459 "
460 fontSize 14
461 fontName "Consolas"
462 alignment "left"
463 anchor "tl"
464 borderDistance 6
465 ]
466 ]
467
468 node
469 [
470 id 13
471 graphics
472 [
473 w 85.80000000000001
474 h 26
475 type "rectangle"
476 fill "#FFFFFF"
477 fill2 "#FFFFFF"
478 outline "#000000"
479 ]
480 LabelGraphics
481 [
482 text "New Reals"
483 outline "#000000"
484 fill "#FFFFFF"
485 fontSize 16
486 fontName "Monospace"
487 autoSizePolicy "node_width"
488 anchor "t"
489 borderDistance 0.0
490 ]
491 LabelGraphics
492 [
493 text "
494 "
495 fontSize 14
496 fontName "Consolas"
497 alignment "left"
498 anchor "tl"
499 borderDistance 6
500 ]
501 ]
502
503 node
504 [
505 id 14
506 graphics
507 [
508 w 103.4
509 h 26
510 type "rectangle"
511 fill "#FFFFFF"
512 fill2 "#FFFFFF"
513 outline "#000000"
514 ]
515 LabelGraphics
516 [
517 text "New Strings"
518 outline "#000000"
519 fill "#FFFFFF"
520 fontSize 16
521 fontName "Monospace"
522 autoSizePolicy "node_width"
523 anchor "t"
524 borderDistance 0.0
525 ]
526 LabelGraphics
527 [
528 text "
529 "
530 fontSize 14
531 fontName "Consolas"
532 alignment "left"
533 anchor "tl"
534 borderDistance 6
535 ]
536 ]
537
538 node
539 [
540 id 15
541 graphics
542 [
543 w 103.4
544 h 26
545 type "rectangle"
546 fill "#FFFFFF"
547 fill2 "#FFFFFF"
548 outline "#000000"
549 ]
550 LabelGraphics
551 [
552 text "New Objects"
553 outline "#000000"
554 fill "#FFFFFF"
555 fontSize 16
556 fontName "Monospace"
557 autoSizePolicy "node_width"
558 anchor "t"
559 borderDistance 0.0
560 ]
561 LabelGraphics
562 [
563 text "
564 "
565 fontSize 14
566 fontName "Consolas"
567 alignment "left"
568 anchor "tl"
569 borderDistance 6
570 ]
571 ]
572 edge
573 [
574 source 3
575 target 4
576 graphics
577 [
578 fill "#000000"
579 width 3
580 targetArrow "standard"
581 ]
582 LabelGraphics
583 [
584 text "value reference Element"
585 fontSize 14
586 fontName "Consolas"
587 configuration "AutoFlippingLabel"
588 model "six_pos"
589 position "thead"
590 ]
591 ]
592 edge
593 [
594 source 5
595 target 6
596 graphics
597 [
598 fill "#000000"
599 width 3
600 targetArrow "standard"
601 ]
602 LabelGraphics
603 [
604 text "value reference Element"
605 fontSize 14
606 fontName "Consolas"
607 configuration "AutoFlippingLabel"
608 model "six_pos"
609 position "thead"
610 ]
611 ]
612 edge
613 [
614 source 7
615 target 8
616 graphics
617 [
618 fill "#000000"
619 width 3
620 targetArrow "standard"
621 ]
622 LabelGraphics
623 [
624 text "value reference Element"
625 fontSize 14
626 fontName "Consolas"
627 configuration "AutoFlippingLabel"
628 model "six_pos"
629 position "thead"
630 ]
631 ]
632 edge
633 [
634 source 9
635 target 10
636 graphics
637 [
638 fill "#000000"
639 width 3
640 targetArrow "standard"
641 ]
642 LabelGraphics
643 [
644 text "value reference Element"
645 fontSize 14
646 fontName "Consolas"
647 configuration "AutoFlippingLabel"
648 model "six_pos"
649 position "thead"
650 ]
651 ]
652 edge
653 [
654 source 2
655 target 3
656 graphics
657 [
658 fill "#000000"
659 width 3
660 targetArrow "standard"
661 ]
662 LabelGraphics
663 [
664 text "next reference Element"
665 fontSize 14
666 fontName "Consolas"
667 configuration "AutoFlippingLabel"
668 model "six_pos"
669 position "thead"
670 ]
671 ]
672 edge
673 [
674 source 3
675 target 5
676 graphics
677 [
678 fill "#000000"
679 width 3
680 targetArrow "standard"
681 ]
682 LabelGraphics
683 [
684 text "next reference Element"
685 fontSize 14
686 fontName "Consolas"
687 configuration "AutoFlippingLabel"
688 model "six_pos"
689 position "thead"
690 ]
691 ]
692 edge
693 [
694 source 5
695 target 7
696 graphics
697 [
698 fill "#000000"
699 width 3
700 targetArrow "standard"
701 ]
702 LabelGraphics
703 [
704 text "next reference Element"
705 fontSize 14
706 fontName "Consolas"
707 configuration "AutoFlippingLabel"
708 model "six_pos"
709 position "thead"
710 ]
711 ]
712 edge
713 [
714 source 7
715 target 9
716 graphics
717 [
718 fill "#000000"
719 width 3
720 targetArrow "standard"
721 ]
722 LabelGraphics
723 [
724 text "next reference Element"
725 fontSize 14
726 fontName "Consolas"
727 configuration "AutoFlippingLabel"
728 model "six_pos"
729 position "thead"
730 ]
731 ]
732 edge
733 [
734 source 9
735 target 11
736 graphics
737 [
738 fill "#000000"
739 width 3
740 targetArrow "standard"
741 ]
742 LabelGraphics
743 [
744 text "next reference Element"
745 fontSize 14
746 fontName "Consolas"
747 configuration "AutoFlippingLabel"
748 model "six_pos"
749 position "thead"
750 ]
751 ]
752]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleNEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleNEIGHBOURHOOD.gml
new file mode 100644
index 00000000..125acc5c
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/cycleNEIGHBOURHOOD.gml
@@ -0,0 +1,210 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 152.9
9 h 40
10 type "roundrectangle"
11 fill "#FFCC00"
12 outline "#000000"
13 ]
14 LabelGraphics
15 [
16 ]
17 LabelGraphics
18 [
19 text "[Element class] (1)"
20 fontSize 14
21 fontName "Dialog"
22 ]
23 ]
24 node
25 [
26 id 1
27 graphics
28 [
29 w 145.20000000000002
30 h 40
31 type "roundrectangle"
32 fill "#FFCC00"
33 outline "#000000"
34 ]
35 LabelGraphics
36 [
37 ]
38 LabelGraphics
39 [
40 text "[Object class] (4)"
41 fontSize 14
42 fontName "Dialog"
43 ]
44 ]
45 node
46 [
47 id 2
48 graphics
49 [
50 w 152.9
51 h 40
52 type "roundrectangle"
53 fill "#FFCC00"
54 outline "#000000"
55 ]
56 LabelGraphics
57 [
58 ]
59 LabelGraphics
60 [
61 text "[Element class] (1)"
62 fontSize 14
63 fontName "Dialog"
64 ]
65 ]
66 node
67 [
68 id 3
69 graphics
70 [
71 w 152.9
72 h 40
73 type "roundrectangle"
74 fill "#FFCC00"
75 outline "#000000"
76 ]
77 LabelGraphics
78 [
79 ]
80 LabelGraphics
81 [
82 text "[Element class] (4)"
83 fontSize 14
84 fontName "Dialog"
85 ]
86 ]
87 edge
88 [
89 source 2
90 target 3
91 label "next reference Element"
92 graphics
93 [
94 fill "#000000"
95 targetArrow "standard"
96 Line
97 [
98 ]
99 ]
100 LabelGraphics
101 [
102 text "next reference Element"
103 fontSize 12
104 fontName "Dialog"
105 configuration "AutoFlippingLabel"
106 model "six_pos"
107 position "head"
108 ]
109 LabelGraphics
110 [
111 text "[1]"
112 fontSize 12
113 fontName "Dialog"
114 configuration "AutoFlippingLabel"
115 model "six_pos"
116 position "stail"
117 ]
118 LabelGraphics
119 [
120 text "[1, 0, 0]"
121 fontSize 12
122 fontName "Dialog"
123 configuration "AutoFlippingLabel"
124 model "six_pos"
125 position "ttail"
126 ]
127 ]
128 edge
129 [
130 source 3
131 target 3
132 label "next reference Element"
133 graphics
134 [
135 fill "#000000"
136 targetArrow "standard"
137 Line
138 [
139 ]
140 ]
141 LabelGraphics
142 [
143 text "next reference Element"
144 fontSize 12
145 fontName "Dialog"
146 configuration "AutoFlippingLabel"
147 model "six_pos"
148 position "head"
149 ]
150 LabelGraphics
151 [
152 text "[1, 1, 1]"
153 fontSize 12
154 fontName "Dialog"
155 configuration "AutoFlippingLabel"
156 model "six_pos"
157 position "stail"
158 ]
159 LabelGraphics
160 [
161 text "[1, 1, 0]"
162 fontSize 12
163 fontName "Dialog"
164 configuration "AutoFlippingLabel"
165 model "six_pos"
166 position "ttail"
167 ]
168 ]
169 edge
170 [
171 source 3
172 target 1
173 label "value reference Element"
174 graphics
175 [
176 fill "#000000"
177 targetArrow "standard"
178 Line
179 [
180 ]
181 ]
182 LabelGraphics
183 [
184 text "value reference Element"
185 fontSize 12
186 fontName "Dialog"
187 configuration "AutoFlippingLabel"
188 model "six_pos"
189 position "head"
190 ]
191 LabelGraphics
192 [
193 text "[1, 1, 1]"
194 fontSize 12
195 fontName "Dialog"
196 configuration "AutoFlippingLabel"
197 model "six_pos"
198 position "stail"
199 ]
200 LabelGraphics
201 [
202 text "[1]"
203 fontSize 12
204 fontName "Dialog"
205 configuration "AutoFlippingLabel"
206 model "six_pos"
207 position "ttail"
208 ]
209 ]
210]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml
index e69de29b..b0f17c49 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml
@@ -0,0 +1,724 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 176.0
9 h 40
10 type "roundrectangle"
11 fill "#FFCC00"
12 outline "#000000"
13 ]
14 LabelGraphics
15 [
16 ]
17 LabelGraphics
18 [
19 text "[Transition class] (7)"
20 fontSize 14
21 fontName "Dialog"
22 ]
23 ]
24 node
25 [
26 id 1
27 graphics
28 [
29 w 584.1
30 h 40
31 type "roundrectangle"
32 fill "#FFCC00"
33 outline "#000000"
34 ]
35 LabelGraphics
36 [
37 ]
38 LabelGraphics
39 [
40 text "[State class, CompositeElement class, Vertex class, RegularState class] (1)"
41 fontSize 14
42 fontName "Dialog"
43 ]
44 ]
45 node
46 [
47 id 2
48 graphics
49 [
50 w 360.8
51 h 40
52 type "roundrectangle"
53 fill "#FFCC00"
54 outline "#000000"
55 ]
56 LabelGraphics
57 [
58 ]
59 LabelGraphics
60 [
61 text "[Statechart class, CompositeElement class] (1)"
62 fontSize 14
63 fontName "Dialog"
64 ]
65 ]
66 node
67 [
68 id 3
69 graphics
70 [
71 w 584.1
72 h 40
73 type "roundrectangle"
74 fill "#FFCC00"
75 outline "#000000"
76 ]
77 LabelGraphics
78 [
79 ]
80 LabelGraphics
81 [
82 text "[State class, CompositeElement class, Vertex class, RegularState class] (1)"
83 fontSize 14
84 fontName "Dialog"
85 ]
86 ]
87 node
88 [
89 id 4
90 graphics
91 [
92 w 584.1
93 h 40
94 type "roundrectangle"
95 fill "#FFCC00"
96 outline "#000000"
97 ]
98 LabelGraphics
99 [
100 ]
101 LabelGraphics
102 [
103 text "[State class, CompositeElement class, Vertex class, RegularState class] (1)"
104 fontSize 14
105 fontName "Dialog"
106 ]
107 ]
108 node
109 [
110 id 5
111 graphics
112 [
113 w 584.1
114 h 40
115 type "roundrectangle"
116 fill "#FFCC00"
117 outline "#000000"
118 ]
119 LabelGraphics
120 [
121 ]
122 LabelGraphics
123 [
124 text "[State class, CompositeElement class, Vertex class, RegularState class] (2)"
125 fontSize 14
126 fontName "Dialog"
127 ]
128 ]
129 node
130 [
131 id 6
132 graphics
133 [
134 w 391.6
135 h 40
136 type "roundrectangle"
137 fill "#FFCC00"
138 outline "#000000"
139 ]
140 LabelGraphics
141 [
142 ]
143 LabelGraphics
144 [
145 text "[Pseudostate class, Entry class, Vertex class] (1)"
146 fontSize 14
147 fontName "Dialog"
148 ]
149 ]
150 node
151 [
152 id 7
153 graphics
154 [
155 w 145.20000000000002
156 h 40
157 type "roundrectangle"
158 fill "#FFCC00"
159 outline "#000000"
160 ]
161 LabelGraphics
162 [
163 ]
164 LabelGraphics
165 [
166 text "[Region class] (1)"
167 fontSize 14
168 fontName "Dialog"
169 ]
170 ]
171 node
172 [
173 id 8
174 graphics
175 [
176 w 176.0
177 h 40
178 type "roundrectangle"
179 fill "#FFCC00"
180 outline "#000000"
181 ]
182 LabelGraphics
183 [
184 ]
185 LabelGraphics
186 [
187 text "[Transition class] (1)"
188 fontSize 14
189 fontName "Dialog"
190 ]
191 ]
192 edge
193 [
194 source 2
195 target 7
196 label "regions reference CompositeElement"
197 graphics
198 [
199 fill "#000000"
200 targetArrow "standard"
201 ]
202 LabelGraphics
203 [
204 text "regions reference CompositeElement"
205 fontSize 12
206 fontName "Dialog"
207 configuration "AutoFlippingLabel"
208 model "six_pos"
209 position "head"
210 ]
211 LabelGraphics
212 [
213 text "[1]"
214 fontSize 12
215 fontName "Dialog"
216 configuration "AutoFlippingLabel"
217 model "six_pos"
218 position "stail"
219 ]
220 LabelGraphics
221 [
222 text "[1]"
223 fontSize 12
224 fontName "Dialog"
225 configuration "AutoFlippingLabel"
226 model "six_pos"
227 position "ttail"
228 ]
229 ]
230 edge
231 [
232 source 5
233 target 0
234 label "incomingTransitions reference Vertex"
235 graphics
236 [
237 fill "#000000"
238 targetArrow "standard"
239 ]
240 LabelGraphics
241 [
242 text "incomingTransitions reference Vertex"
243 fontSize 12
244 fontName "Dialog"
245 configuration "AutoFlippingLabel"
246 model "six_pos"
247 position "head"
248 ]
249 LabelGraphics
250 [
251 text "[1]"
252 fontSize 12
253 fontName "Dialog"
254 configuration "AutoFlippingLabel"
255 model "six_pos"
256 position "stail"
257 ]
258 LabelGraphics
259 [
260 text "[1, 0, 0, 0, 0, 0, 1]"
261 fontSize 12
262 fontName "Dialog"
263 configuration "AutoFlippingLabel"
264 model "six_pos"
265 position "ttail"
266 ]
267 ]
268 edge
269 [
270 source 5
271 target 0
272 label "outgoingTransitions reference Vertex"
273 graphics
274 [
275 fill "#000000"
276 targetArrow "standard"
277 ]
278 LabelGraphics
279 [
280 text "outgoingTransitions reference Vertex"
281 fontSize 12
282 fontName "Dialog"
283 configuration "AutoFlippingLabel"
284 model "six_pos"
285 position "head"
286 ]
287 LabelGraphics
288 [
289 text "[1]"
290 fontSize 12
291 fontName "Dialog"
292 configuration "AutoFlippingLabel"
293 model "six_pos"
294 position "stail"
295 ]
296 LabelGraphics
297 [
298 text "[1, 1, 0, 0, 0, 0, 1, 1]"
299 fontSize 12
300 fontName "Dialog"
301 configuration "AutoFlippingLabel"
302 model "six_pos"
303 position "ttail"
304 ]
305 ]
306 edge
307 [
308 source 4
309 target 0
310 label "incomingTransitions reference Vertex"
311 graphics
312 [
313 fill "#000000"
314 targetArrow "standard"
315 ]
316 LabelGraphics
317 [
318 text "incomingTransitions reference Vertex"
319 fontSize 12
320 fontName "Dialog"
321 configuration "AutoFlippingLabel"
322 model "six_pos"
323 position "head"
324 ]
325 LabelGraphics
326 [
327 text "[2]"
328 fontSize 12
329 fontName "Dialog"
330 configuration "AutoFlippingLabel"
331 model "six_pos"
332 position "stail"
333 ]
334 LabelGraphics
335 [
336 text "[1, 1, 0, 0, 0, 0, 1, 1]"
337 fontSize 12
338 fontName "Dialog"
339 configuration "AutoFlippingLabel"
340 model "six_pos"
341 position "ttail"
342 ]
343 ]
344 edge
345 [
346 source 4
347 target 0
348 label "outgoingTransitions reference Vertex"
349 graphics
350 [
351 fill "#000000"
352 targetArrow "standard"
353 ]
354 LabelGraphics
355 [
356 text "outgoingTransitions reference Vertex"
357 fontSize 12
358 fontName "Dialog"
359 configuration "AutoFlippingLabel"
360 model "six_pos"
361 position "head"
362 ]
363 LabelGraphics
364 [
365 text "[4]"
366 fontSize 12
367 fontName "Dialog"
368 configuration "AutoFlippingLabel"
369 model "six_pos"
370 position "stail"
371 ]
372 LabelGraphics
373 [
374 text "[1, 1, 1, 0, 0, 0, 1, 1, 1]"
375 fontSize 12
376 fontName "Dialog"
377 configuration "AutoFlippingLabel"
378 model "six_pos"
379 position "ttail"
380 ]
381 ]
382 edge
383 [
384 source 3
385 target 0
386 label "incomingTransitions reference Vertex"
387 graphics
388 [
389 fill "#000000"
390 targetArrow "standard"
391 ]
392 LabelGraphics
393 [
394 text "incomingTransitions reference Vertex"
395 fontSize 12
396 fontName "Dialog"
397 configuration "AutoFlippingLabel"
398 model "six_pos"
399 position "head"
400 ]
401 LabelGraphics
402 [
403 text "[1, 2]"
404 fontSize 12
405 fontName "Dialog"
406 configuration "AutoFlippingLabel"
407 model "six_pos"
408 position "stail"
409 ]
410 LabelGraphics
411 [
412 text "[1, 1, 0, 0, 0, 0, 1, 1]"
413 fontSize 12
414 fontName "Dialog"
415 configuration "AutoFlippingLabel"
416 model "six_pos"
417 position "ttail"
418 ]
419 ]
420 edge
421 [
422 source 3
423 target 0
424 label "outgoingTransitions reference Vertex"
425 graphics
426 [
427 fill "#000000"
428 targetArrow "standard"
429 ]
430 LabelGraphics
431 [
432 text "outgoingTransitions reference Vertex"
433 fontSize 12
434 fontName "Dialog"
435 configuration "AutoFlippingLabel"
436 model "six_pos"
437 position "head"
438 ]
439 LabelGraphics
440 [
441 text "[1]"
442 fontSize 12
443 fontName "Dialog"
444 configuration "AutoFlippingLabel"
445 model "six_pos"
446 position "stail"
447 ]
448 LabelGraphics
449 [
450 text "[1, 0, 0, 0, 0, 0, 1]"
451 fontSize 12
452 fontName "Dialog"
453 configuration "AutoFlippingLabel"
454 model "six_pos"
455 position "ttail"
456 ]
457 ]
458 edge
459 [
460 source 6
461 target 8
462 label "outgoingTransitions reference Vertex"
463 graphics
464 [
465 fill "#000000"
466 targetArrow "standard"
467 ]
468 LabelGraphics
469 [
470 text "outgoingTransitions reference Vertex"
471 fontSize 12
472 fontName "Dialog"
473 configuration "AutoFlippingLabel"
474 model "six_pos"
475 position "head"
476 ]
477 LabelGraphics
478 [
479 text "[1]"
480 fontSize 12
481 fontName "Dialog"
482 configuration "AutoFlippingLabel"
483 model "six_pos"
484 position "stail"
485 ]
486 LabelGraphics
487 [
488 text "[1]"
489 fontSize 12
490 fontName "Dialog"
491 configuration "AutoFlippingLabel"
492 model "six_pos"
493 position "ttail"
494 ]
495 ]
496 edge
497 [
498 source 7
499 target 6
500 label "vertices reference Region"
501 graphics
502 [
503 fill "#000000"
504 targetArrow "standard"
505 ]
506 LabelGraphics
507 [
508 text "vertices reference Region"
509 fontSize 12
510 fontName "Dialog"
511 configuration "AutoFlippingLabel"
512 model "six_pos"
513 position "head"
514 ]
515 LabelGraphics
516 [
517 text "[1, 1, 1, 2, 1]"
518 fontSize 12
519 fontName "Dialog"
520 configuration "AutoFlippingLabel"
521 model "six_pos"
522 position "stail"
523 ]
524 LabelGraphics
525 [
526 text "[1]"
527 fontSize 12
528 fontName "Dialog"
529 configuration "AutoFlippingLabel"
530 model "six_pos"
531 position "ttail"
532 ]
533 ]
534 edge
535 [
536 source 0
537 target 1
538 label "target reference Transition"
539 graphics
540 [
541 fill "#000000"
542 targetArrow "standard"
543 ]
544 LabelGraphics
545 [
546 text "target reference Transition"
547 fontSize 12
548 fontName "Dialog"
549 configuration "AutoFlippingLabel"
550 model "six_pos"
551 position "head"
552 ]
553 LabelGraphics
554 [
555 text "[1, 1, 1, 1, 1, 1]"
556 fontSize 12
557 fontName "Dialog"
558 configuration "AutoFlippingLabel"
559 model "six_pos"
560 position "stail"
561 ]
562 LabelGraphics
563 [
564 text "[1, 2]"
565 fontSize 12
566 fontName "Dialog"
567 configuration "AutoFlippingLabel"
568 model "six_pos"
569 position "ttail"
570 ]
571 ]
572 edge
573 [
574 source 0
575 target 4
576 label "source reference Transition"
577 graphics
578 [
579 fill "#000000"
580 targetArrow "standard"
581 ]
582 LabelGraphics
583 [
584 text "source reference Transition"
585 fontSize 12
586 fontName "Dialog"
587 configuration "AutoFlippingLabel"
588 model "six_pos"
589 position "head"
590 ]
591 LabelGraphics
592 [
593 text "[1, 1, 1, 1, 1, 1]"
594 fontSize 12
595 fontName "Dialog"
596 configuration "AutoFlippingLabel"
597 model "six_pos"
598 position "stail"
599 ]
600 LabelGraphics
601 [
602 text "[4]"
603 fontSize 12
604 fontName "Dialog"
605 configuration "AutoFlippingLabel"
606 model "six_pos"
607 position "ttail"
608 ]
609 ]
610 edge
611 [
612 source 1
613 target 0
614 label "incomingTransitions reference Vertex"
615 graphics
616 [
617 fill "#000000"
618 targetArrow "standard"
619 ]
620 LabelGraphics
621 [
622 text "incomingTransitions reference Vertex"
623 fontSize 12
624 fontName "Dialog"
625 configuration "AutoFlippingLabel"
626 model "six_pos"
627 position "head"
628 ]
629 LabelGraphics
630 [
631 text "[1]"
632 fontSize 12
633 fontName "Dialog"
634 configuration "AutoFlippingLabel"
635 model "six_pos"
636 position "stail"
637 ]
638 LabelGraphics
639 [
640 text "[1, 0, 0, 0, 0, 0]"
641 fontSize 12
642 fontName "Dialog"
643 configuration "AutoFlippingLabel"
644 model "six_pos"
645 position "ttail"
646 ]
647 ]
648 edge
649 [
650 source 8
651 target 3
652 label "target reference Transition"
653 graphics
654 [
655 fill "#000000"
656 targetArrow "standard"
657 ]
658 LabelGraphics
659 [
660 text "target reference Transition"
661 fontSize 12
662 fontName "Dialog"
663 configuration "AutoFlippingLabel"
664 model "six_pos"
665 position "head"
666 ]
667 LabelGraphics
668 [
669 text "[1]"
670 fontSize 12
671 fontName "Dialog"
672 configuration "AutoFlippingLabel"
673 model "six_pos"
674 position "stail"
675 ]
676 LabelGraphics
677 [
678 text "[1]"
679 fontSize 12
680 fontName "Dialog"
681 configuration "AutoFlippingLabel"
682 model "six_pos"
683 position "ttail"
684 ]
685 ]
686 edge
687 [
688 source 8
689 target 6
690 label "source reference Transition"
691 graphics
692 [
693 fill "#000000"
694 targetArrow "standard"
695 ]
696 LabelGraphics
697 [
698 text "source reference Transition"
699 fontSize 12
700 fontName "Dialog"
701 configuration "AutoFlippingLabel"
702 model "six_pos"
703 position "head"
704 ]
705 LabelGraphics
706 [
707 text "[1]"
708 fontSize 12
709 fontName "Dialog"
710 configuration "AutoFlippingLabel"
711 model "six_pos"
712 position "stail"
713 ]
714 LabelGraphics
715 [
716 text "[1]"
717 fontSize 12
718 fontName "Dialog"
719 configuration "AutoFlippingLabel"
720 model "six_pos"
721 position "ttail"
722 ]
723 ]
724]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic0NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic0NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..0cfc9216
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic0NEIGHBOURHOOD.gml
@@ -0,0 +1,304 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x 95.0
15 y -28.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (5)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 357.0
40 y -28.0
41 w 176.0
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[Statechart class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x -158.0
65 y -28.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[Entry class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 edge
84 [
85 source 0
86 target 0
87 label "next reference State"
88 graphics
89 [
90 fill "#000000"
91 targetArrow "standard"
92 Line
93 [
94 point
95 [
96 x 95.0
97 y -28.0
98 ]
99 point
100 [
101 x 105.0
102 y -199.0
103 ]
104 point
105 [
106 x 95.0
107 y -28.0
108 ]
109 ]
110 ]
111 LabelGraphics
112 [
113 text "next reference State"
114 fontSize 12
115 fontName "Dialog"
116 configuration "AutoFlippingLabel"
117 contentWidth 112.064453125
118 contentHeight 18.701171875
119 model "six_pos"
120 position "head"
121 ]
122 LabelGraphics
123 [
124 text "[1, 1]"
125 fontSize 12
126 fontName "Dialog"
127 configuration "AutoFlippingLabel"
128 contentWidth 30.68359375
129 contentHeight 18.701171875
130 model "six_pos"
131 position "stail"
132 ]
133 LabelGraphics
134 [
135 text "[1, 1]"
136 fontSize 12
137 fontName "Dialog"
138 configuration "AutoFlippingLabel"
139 contentWidth 30.68359375
140 contentHeight 18.701171875
141 model "six_pos"
142 position "shead"
143 ]
144 ]
145 edge
146 [
147 source 1
148 target 0
149 label "state reference Statechart"
150 graphics
151 [
152 fill "#000000"
153 targetArrow "standard"
154 ]
155 LabelGraphics
156 [
157 text "state reference Statechart"
158 fontSize 12
159 fontName "Dialog"
160 configuration "AutoFlippingLabel"
161 contentWidth 142.076171875
162 contentHeight 18.701171875
163 model "six_pos"
164 position "head"
165 ]
166 LabelGraphics
167 [
168 text "[5]"
169 fontSize 12
170 fontName "Dialog"
171 configuration "AutoFlippingLabel"
172 contentWidth 17.341796875
173 contentHeight 18.701171875
174 model "six_pos"
175 position "stail"
176 ]
177 LabelGraphics
178 [
179 text "[1, 1]"
180 fontSize 12
181 fontName "Dialog"
182 configuration "AutoFlippingLabel"
183 contentWidth 30.68359375
184 contentHeight 18.701171875
185 model "six_pos"
186 position "ttail"
187 ]
188 ]
189 edge
190 [
191 source 1
192 target 2
193 label "entry reference Statechart"
194 graphics
195 [
196 fill "#000000"
197 targetArrow "standard"
198 Line
199 [
200 point
201 [
202 x 357.0
203 y -28.0
204 ]
205 point
206 [
207 x 357.0
208 y 130.0
209 ]
210 point
211 [
212 x -158.0
213 y 130.0
214 ]
215 point
216 [
217 x -158.0
218 y -28.0
219 ]
220 ]
221 ]
222 edgeAnchor
223 [
224 ySource 1.0
225 ]
226 LabelGraphics
227 [
228 text "entry reference Statechart"
229 fontSize 12
230 fontName "Dialog"
231 configuration "AutoFlippingLabel"
232 contentWidth 142.73828125
233 contentHeight 18.701171875
234 model "six_pos"
235 position "head"
236 ]
237 LabelGraphics
238 [
239 text "[1]"
240 fontSize 12
241 fontName "Dialog"
242 configuration "AutoFlippingLabel"
243 contentWidth 17.341796875
244 contentHeight 18.701171875
245 model "six_pos"
246 position "stail"
247 ]
248 LabelGraphics
249 [
250 text "[1]"
251 fontSize 12
252 fontName "Dialog"
253 configuration "AutoFlippingLabel"
254 contentWidth 17.341796875
255 contentHeight 18.701171875
256 model "six_pos"
257 position "ttail"
258 ]
259 ]
260 edge
261 [
262 source 2
263 target 0
264 label "entry reference Entry"
265 graphics
266 [
267 fill "#000000"
268 targetArrow "standard"
269 ]
270 LabelGraphics
271 [
272 text "entry reference Entry"
273 fontSize 12
274 fontName "Dialog"
275 configuration "AutoFlippingLabel"
276 contentWidth 116.048828125
277 contentHeight 18.701171875
278 model "six_pos"
279 position "head"
280 ]
281 LabelGraphics
282 [
283 text "[1]"
284 fontSize 12
285 fontName "Dialog"
286 configuration "AutoFlippingLabel"
287 contentWidth 17.341796875
288 contentHeight 18.701171875
289 model "six_pos"
290 position "stail"
291 ]
292 LabelGraphics
293 [
294 text "[1, 0]"
295 fontSize 12
296 fontName "Dialog"
297 configuration "AutoFlippingLabel"
298 contentWidth 30.68359375
299 contentHeight 18.701171875
300 model "six_pos"
301 position "ttail"
302 ]
303 ]
304]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic1NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic1NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..868b39c5
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic1NEIGHBOURHOOD.gml
@@ -0,0 +1,374 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 137.5
9 h 40
10 type "roundrectangle"
11 fill "#FFCC00"
12 outline "#000000"
13 ]
14 LabelGraphics
15 [
16 ]
17 LabelGraphics
18 [
19 text "[Entry class] (1)"
20 fontSize 14
21 fontName "Dialog"
22 ]
23 ]
24 node
25 [
26 id 1
27 graphics
28 [
29 w 137.5
30 h 40
31 type "roundrectangle"
32 fill "#FFCC00"
33 outline "#000000"
34 ]
35 LabelGraphics
36 [
37 ]
38 LabelGraphics
39 [
40 text "[State class] (4)"
41 fontSize 14
42 fontName "Dialog"
43 ]
44 ]
45 node
46 [
47 id 2
48 graphics
49 [
50 w 176.0
51 h 40
52 type "roundrectangle"
53 fill "#FFCC00"
54 outline "#000000"
55 ]
56 LabelGraphics
57 [
58 ]
59 LabelGraphics
60 [
61 text "[Statechart class] (1)"
62 fontSize 14
63 fontName "Dialog"
64 ]
65 ]
66 node
67 [
68 id 3
69 graphics
70 [
71 w 137.5
72 h 40
73 type "roundrectangle"
74 fill "#FFCC00"
75 outline "#000000"
76 ]
77 LabelGraphics
78 [
79 ]
80 LabelGraphics
81 [
82 text "[State class] (1)"
83 fontSize 14
84 fontName "Dialog"
85 ]
86 ]
87 edge
88 [
89 source 0
90 target 3
91 label "entry reference Entry"
92 graphics
93 [
94 fill "#000000"
95 targetArrow "standard"
96 Line
97 [
98 ]
99 ]
100 LabelGraphics
101 [
102 text "entry reference Entry"
103 fontSize 12
104 fontName "Dialog"
105 configuration "AutoFlippingLabel"
106 model "six_pos"
107 position "head"
108 ]
109 LabelGraphics
110 [
111 text "[1]"
112 fontSize 12
113 fontName "Dialog"
114 configuration "AutoFlippingLabel"
115 model "six_pos"
116 position "stail"
117 ]
118 LabelGraphics
119 [
120 text "[1]"
121 fontSize 12
122 fontName "Dialog"
123 configuration "AutoFlippingLabel"
124 model "six_pos"
125 position "ttail"
126 ]
127 ]
128 edge
129 [
130 source 1
131 target 3
132 label "next reference State"
133 graphics
134 [
135 fill "#000000"
136 targetArrow "standard"
137 Line
138 [
139 ]
140 ]
141 LabelGraphics
142 [
143 text "next reference State"
144 fontSize 12
145 fontName "Dialog"
146 configuration "AutoFlippingLabel"
147 model "six_pos"
148 position "head"
149 ]
150 LabelGraphics
151 [
152 text "[1, 0, 0]"
153 fontSize 12
154 fontName "Dialog"
155 configuration "AutoFlippingLabel"
156 model "six_pos"
157 position "stail"
158 ]
159 LabelGraphics
160 [
161 text "[1, 1, 1]"
162 fontSize 12
163 fontName "Dialog"
164 configuration "AutoFlippingLabel"
165 model "six_pos"
166 position "ttail"
167 ]
168 ]
169 edge
170 [
171 source 1
172 target 1
173 label "next reference State"
174 graphics
175 [
176 fill "#000000"
177 targetArrow "standard"
178 Line
179 [
180 ]
181 ]
182 LabelGraphics
183 [
184 text "next reference State"
185 fontSize 12
186 fontName "Dialog"
187 configuration "AutoFlippingLabel"
188 model "six_pos"
189 position "head"
190 ]
191 LabelGraphics
192 [
193 text "[1, 1, 0]"
194 fontSize 12
195 fontName "Dialog"
196 configuration "AutoFlippingLabel"
197 model "six_pos"
198 position "stail"
199 ]
200 LabelGraphics
201 [
202 text "[1, 1, 1]"
203 fontSize 12
204 fontName "Dialog"
205 configuration "AutoFlippingLabel"
206 model "six_pos"
207 position "ttail"
208 ]
209 ]
210 edge
211 [
212 source 2
213 target 3
214 label "state reference Statechart"
215 graphics
216 [
217 fill "#000000"
218 targetArrow "standard"
219 Line
220 [
221 ]
222 ]
223 LabelGraphics
224 [
225 text "state reference Statechart"
226 fontSize 12
227 fontName "Dialog"
228 configuration "AutoFlippingLabel"
229 model "six_pos"
230 position "head"
231 ]
232 LabelGraphics
233 [
234 text "[1]"
235 fontSize 12
236 fontName "Dialog"
237 configuration "AutoFlippingLabel"
238 model "six_pos"
239 position "stail"
240 ]
241 LabelGraphics
242 [
243 text "[1, 1, 1, 1]"
244 fontSize 12
245 fontName "Dialog"
246 configuration "AutoFlippingLabel"
247 model "six_pos"
248 position "ttail"
249 ]
250 ]
251 edge
252 [
253 source 2
254 target 0
255 label "entry reference Statechart"
256 graphics
257 [
258 fill "#000000"
259 targetArrow "standard"
260 Line
261 [
262 ]
263 ]
264 LabelGraphics
265 [
266 text "entry reference Statechart"
267 fontSize 12
268 fontName "Dialog"
269 configuration "AutoFlippingLabel"
270 model "six_pos"
271 position "head"
272 ]
273 LabelGraphics
274 [
275 text "[1]"
276 fontSize 12
277 fontName "Dialog"
278 configuration "AutoFlippingLabel"
279 model "six_pos"
280 position "stail"
281 ]
282 LabelGraphics
283 [
284 text "[1]"
285 fontSize 12
286 fontName "Dialog"
287 configuration "AutoFlippingLabel"
288 model "six_pos"
289 position "ttail"
290 ]
291 ]
292 edge
293 [
294 source 2
295 target 1
296 label "state reference Statechart"
297 graphics
298 [
299 fill "#000000"
300 targetArrow "standard"
301 Line
302 [
303 ]
304 ]
305 LabelGraphics
306 [
307 text "state reference Statechart"
308 fontSize 12
309 fontName "Dialog"
310 configuration "AutoFlippingLabel"
311 model "six_pos"
312 position "head"
313 ]
314 LabelGraphics
315 [
316 text "[4]"
317 fontSize 12
318 fontName "Dialog"
319 configuration "AutoFlippingLabel"
320 model "six_pos"
321 position "stail"
322 ]
323 LabelGraphics
324 [
325 text "[1, 1, 1, 1]"
326 fontSize 12
327 fontName "Dialog"
328 configuration "AutoFlippingLabel"
329 model "six_pos"
330 position "ttail"
331 ]
332 ]
333 edge
334 [
335 source 3
336 target 1
337 label "next reference State"
338 graphics
339 [
340 fill "#000000"
341 targetArrow "standard"
342 Line
343 [
344 ]
345 ]
346 LabelGraphics
347 [
348 text "next reference State"
349 fontSize 12
350 fontName "Dialog"
351 configuration "AutoFlippingLabel"
352 model "six_pos"
353 position "head"
354 ]
355 LabelGraphics
356 [
357 text "[1]"
358 fontSize 12
359 fontName "Dialog"
360 configuration "AutoFlippingLabel"
361 model "six_pos"
362 position "stail"
363 ]
364 LabelGraphics
365 [
366 text "[1, 0, 0]"
367 fontSize 12
368 fontName "Dialog"
369 configuration "AutoFlippingLabel"
370 model "six_pos"
371 position "ttail"
372 ]
373 ]
374]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic2NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic2NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..4fe07a99
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic2NEIGHBOURHOOD.gml
@@ -0,0 +1,560 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x -316.0
15 y 303.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 49.0
40 y -220.0
41 w 176.0
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[Statechart class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x -280.0
65 y 100.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[State class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x 156.0
90 y 100.0
91 w 137.5
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[State class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 node
109 [
110 id 4
111 label ""
112 graphics
113 [
114 x -270.0
115 y -92.0
116 w 137.5
117 h 40.0
118 type "roundrectangle"
119 fill "#FFCC00"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 ]
125 LabelGraphics
126 [
127 text "[Entry class] (1)"
128 fontSize 14
129 fontName "Dialog"
130 anchor "c"
131 ]
132 ]
133 node
134 [
135 id 5
136 label ""
137 graphics
138 [
139 x 425.0
140 y -220.0
141 w 137.5
142 h 40.0
143 type "roundrectangle"
144 fill "#FFCC00"
145 outline "#000000"
146 ]
147 LabelGraphics
148 [
149 ]
150 LabelGraphics
151 [
152 text "[State class] (2)"
153 fontSize 14
154 fontName "Dialog"
155 anchor "c"
156 ]
157 ]
158 edge
159 [
160 source 0
161 target 2
162 label "next reference State"
163 graphics
164 [
165 fill "#000000"
166 targetArrow "standard"
167 Line
168 [
169 point
170 [
171 x -316.0
172 y 303.0
173 ]
174 point
175 [
176 x -280.0
177 y 198.5
178 ]
179 point
180 [
181 x -292.0
182 y 198.5
183 ]
184 point
185 [
186 x -280.0
187 y 100.0
188 ]
189 ]
190 ]
191 edgeAnchor
192 [
193 xSource 0.5236363636363637
194 xTarget -0.17454545454545456
195 ]
196 LabelGraphics
197 [
198 text "next reference State"
199 fontSize 12
200 fontName "Dialog"
201 configuration "AutoFlippingLabel"
202 contentWidth 112.064453125
203 contentHeight 18.701171875
204 model "six_pos"
205 position "head"
206 ]
207 LabelGraphics
208 [
209 text "[1]"
210 fontSize 12
211 fontName "Dialog"
212 configuration "AutoFlippingLabel"
213 contentWidth 17.341796875
214 contentHeight 18.701171875
215 model "six_pos"
216 position "stail"
217 ]
218 LabelGraphics
219 [
220 text "[1]"
221 fontSize 12
222 fontName "Dialog"
223 configuration "AutoFlippingLabel"
224 contentWidth 17.341796875
225 contentHeight 18.701171875
226 model "six_pos"
227 position "ttail"
228 ]
229 ]
230 edge
231 [
232 source 1
233 target 5
234 label "state reference Statechart"
235 graphics
236 [
237 fill "#000000"
238 targetArrow "standard"
239 ]
240 edgeAnchor
241 [
242 xSource -0.625
243 ]
244 LabelGraphics
245 [
246 text "state reference Statechart"
247 fontSize 12
248 fontName "Dialog"
249 configuration "AutoFlippingLabel"
250 contentWidth 142.076171875
251 contentHeight 18.701171875
252 model "six_pos"
253 position "head"
254 ]
255 LabelGraphics
256 [
257 text "[1, 1, 1, 2]"
258 fontSize 12
259 fontName "Dialog"
260 configuration "AutoFlippingLabel"
261 contentWidth 57.3671875
262 contentHeight 18.701171875
263 model "six_pos"
264 position "stail"
265 ]
266 LabelGraphics
267 [
268 text "[1, 1]"
269 fontSize 12
270 fontName "Dialog"
271 configuration "AutoFlippingLabel"
272 contentWidth 30.68359375
273 contentHeight 18.701171875
274 model "six_pos"
275 position "ttail"
276 ]
277 ]
278 edge
279 [
280 source 1
281 target 4
282 label "entry reference Statechart"
283 graphics
284 [
285 fill "#000000"
286 targetArrow "standard"
287 Line
288 [
289 point
290 [
291 x 49.0
292 y -220.0
293 ]
294 point
295 [
296 x -270.0
297 y -220.0
298 ]
299 point
300 [
301 x -270.0
302 y -92.0
303 ]
304 ]
305 ]
306 LabelGraphics
307 [
308 text "entry reference Statechart"
309 fontSize 12
310 fontName "Dialog"
311 configuration "AutoFlippingLabel"
312 contentWidth 142.73828125
313 contentHeight 18.701171875
314 model "six_pos"
315 position "head"
316 ]
317 LabelGraphics
318 [
319 text "[1]"
320 fontSize 12
321 fontName "Dialog"
322 configuration "AutoFlippingLabel"
323 contentWidth 17.341796875
324 contentHeight 18.701171875
325 model "six_pos"
326 position "stail"
327 ]
328 LabelGraphics
329 [
330 text "[1]"
331 fontSize 12
332 fontName "Dialog"
333 configuration "AutoFlippingLabel"
334 contentWidth 17.341796875
335 contentHeight 18.701171875
336 model "six_pos"
337 position "ttail"
338 ]
339 ]
340 edge
341 [
342 source 2
343 target 3
344 label "next reference State"
345 graphics
346 [
347 fill "#000000"
348 targetArrow "standard"
349 ]
350 LabelGraphics
351 [
352 text "next reference State"
353 fontSize 12
354 fontName "Dialog"
355 configuration "AutoFlippingLabel"
356 contentWidth 112.064453125
357 contentHeight 18.701171875
358 model "six_pos"
359 position "head"
360 ]
361 LabelGraphics
362 [
363 text "[1]"
364 fontSize 12
365 fontName "Dialog"
366 configuration "AutoFlippingLabel"
367 contentWidth 17.341796875
368 contentHeight 18.701171875
369 model "six_pos"
370 position "stail"
371 ]
372 LabelGraphics
373 [
374 text "[1]"
375 fontSize 12
376 fontName "Dialog"
377 configuration "AutoFlippingLabel"
378 contentWidth 17.341796875
379 contentHeight 18.701171875
380 model "six_pos"
381 position "ttail"
382 ]
383 ]
384 edge
385 [
386 source 3
387 target 5
388 label "next reference State"
389 graphics
390 [
391 fill "#000000"
392 targetArrow "standard"
393 Line
394 [
395 point
396 [
397 x 156.0
398 y 100.0
399 ]
400 point
401 [
402 x 425.0
403 y 100.0
404 ]
405 point
406 [
407 x 425.0
408 y -220.0
409 ]
410 ]
411 ]
412 edgeAnchor
413 [
414 xSource -0.8
415 ]
416 LabelGraphics
417 [
418 text "next reference State"
419 fontSize 12
420 fontName "Dialog"
421 configuration "AutoFlippingLabel"
422 contentWidth 112.064453125
423 contentHeight 18.701171875
424 model "six_pos"
425 position "head"
426 ]
427 LabelGraphics
428 [
429 text "[1]"
430 fontSize 12
431 fontName "Dialog"
432 configuration "AutoFlippingLabel"
433 contentWidth 17.341796875
434 contentHeight 18.701171875
435 model "six_pos"
436 position "stail"
437 ]
438 LabelGraphics
439 [
440 text "[1, 0]"
441 fontSize 12
442 fontName "Dialog"
443 configuration "AutoFlippingLabel"
444 contentWidth 30.68359375
445 contentHeight 18.701171875
446 model "six_pos"
447 position "ttail"
448 ]
449 ]
450 edge
451 [
452 source 4
453 target 2
454 label "entry reference Entry"
455 graphics
456 [
457 fill "#000000"
458 targetArrow "standard"
459 ]
460 edgeAnchor
461 [
462 xTarget 0.14545454545454545
463 ]
464 LabelGraphics
465 [
466 text "entry reference Entry"
467 fontSize 12
468 fontName "Dialog"
469 configuration "AutoFlippingLabel"
470 contentWidth 116.048828125
471 contentHeight 18.701171875
472 model "six_pos"
473 position "head"
474 ]
475 LabelGraphics
476 [
477 text "[1]"
478 fontSize 12
479 fontName "Dialog"
480 configuration "AutoFlippingLabel"
481 contentWidth 17.341796875
482 contentHeight 18.701171875
483 model "six_pos"
484 position "stail"
485 ]
486 LabelGraphics
487 [
488 text "[1]"
489 fontSize 12
490 fontName "Dialog"
491 configuration "AutoFlippingLabel"
492 contentWidth 17.341796875
493 contentHeight 18.701171875
494 model "six_pos"
495 position "ttail"
496 ]
497 ]
498 edge
499 [
500 source 5
501 target 5
502 label "next reference State"
503 graphics
504 [
505 fill "#000000"
506 targetArrow "standard"
507 Line
508 [
509 point
510 [
511 x 425.0
512 y -220.0
513 ]
514 point
515 [
516 x 425.0
517 y -270.0
518 ]
519 point
520 [
521 x 425.0
522 y -220.0
523 ]
524 ]
525 ]
526 LabelGraphics
527 [
528 text "next reference State"
529 fontSize 12
530 fontName "Dialog"
531 configuration "AutoFlippingLabel"
532 contentWidth 112.064453125
533 contentHeight 18.701171875
534 model "six_pos"
535 position "head"
536 ]
537 LabelGraphics
538 [
539 text "[1, 1]"
540 fontSize 12
541 fontName "Dialog"
542 configuration "AutoFlippingLabel"
543 contentWidth 30.68359375
544 contentHeight 18.701171875
545 model "six_pos"
546 position "stail"
547 ]
548 LabelGraphics
549 [
550 text "[1, 0]"
551 fontSize 12
552 fontName "Dialog"
553 configuration "AutoFlippingLabel"
554 contentWidth 30.68359375
555 contentHeight 18.701171875
556 model "six_pos"
557 position "ttail"
558 ]
559 ]
560]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic3NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic3NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..4c6b4ee5
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealistic3NEIGHBOURHOOD.gml
@@ -0,0 +1,639 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x 332.0
15 y 59.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 38.0
40 y -148.0
41 w 137.5
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[State class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x -247.0
65 y -148.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[Entry class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x 23.0
90 y -252.0
91 w 176.0
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[Statechart class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 node
109 [
110 id 4
111 label ""
112 graphics
113 [
114 x 340.0
115 y 259.0
116 w 137.5
117 h 40.0
118 type "roundrectangle"
119 fill "#FFCC00"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 ]
125 LabelGraphics
126 [
127 text "[State class] (1)"
128 fontSize 14
129 fontName "Dialog"
130 anchor "c"
131 ]
132 ]
133 node
134 [
135 id 5
136 label ""
137 graphics
138 [
139 x 340.0
140 y -141.0
141 w 137.5
142 h 40.0
143 type "roundrectangle"
144 fill "#FFCC00"
145 outline "#000000"
146 ]
147 LabelGraphics
148 [
149 ]
150 LabelGraphics
151 [
152 text "[State class] (1)"
153 fontSize 14
154 fontName "Dialog"
155 anchor "c"
156 ]
157 ]
158 node
159 [
160 id 6
161 label ""
162 graphics
163 [
164 x -282.0
165 y 153.0
166 w 137.5
167 h 40.0
168 type "roundrectangle"
169 fill "#FFCC00"
170 outline "#000000"
171 ]
172 LabelGraphics
173 [
174 ]
175 LabelGraphics
176 [
177 text "[State class] (1)"
178 fontSize 14
179 fontName "Dialog"
180 anchor "c"
181 ]
182 ]
183 edge
184 [
185 source 4
186 target 6
187 label "next reference State"
188 graphics
189 [
190 fill "#000000"
191 targetArrow "standard"
192 Line
193 [
194 point
195 [
196 x 340.0
197 y 259.0
198 ]
199 point
200 [
201 x 377.5
202 y 325.5
203 ]
204 point
205 [
206 x -262.0
207 y 325.5
208 ]
209 point
210 [
211 x -262.0
212 y 278.75
213 ]
214 point
215 [
216 x -282.0
217 y 278.75
218 ]
219 point
220 [
221 x -282.0
222 y 153.0
223 ]
224 ]
225 ]
226 edgeAnchor
227 [
228 xSource 0.5454545454545454
229 ySource 0.975
230 ]
231 LabelGraphics
232 [
233 text "next reference State"
234 fontSize 12
235 fontName "Dialog"
236 configuration "AutoFlippingLabel"
237 contentWidth 112.064453125
238 contentHeight 18.701171875
239 model "six_pos"
240 position "head"
241 ]
242 LabelGraphics
243 [
244 text "[1]"
245 fontSize 12
246 fontName "Dialog"
247 configuration "AutoFlippingLabel"
248 contentWidth 17.341796875
249 contentHeight 18.701171875
250 model "six_pos"
251 position "stail"
252 ]
253 LabelGraphics
254 [
255 text "[1]"
256 fontSize 12
257 fontName "Dialog"
258 configuration "AutoFlippingLabel"
259 contentWidth 17.341796875
260 contentHeight 18.701171875
261 model "six_pos"
262 position "ttail"
263 ]
264 ]
265 edge
266 [
267 source 0
268 target 4
269 label "next reference State"
270 graphics
271 [
272 fill "#000000"
273 targetArrow "standard"
274 ]
275 edgeAnchor
276 [
277 xSource 0.11636363636363636
278 ySource 0.225
279 ]
280 LabelGraphics
281 [
282 text "next reference State"
283 fontSize 12
284 fontName "Dialog"
285 configuration "AutoFlippingLabel"
286 contentWidth 112.064453125
287 contentHeight 18.701171875
288 model "six_pos"
289 position "head"
290 ]
291 LabelGraphics
292 [
293 text "[1]"
294 fontSize 12
295 fontName "Dialog"
296 configuration "AutoFlippingLabel"
297 contentWidth 17.341796875
298 contentHeight 18.701171875
299 model "six_pos"
300 position "stail"
301 ]
302 LabelGraphics
303 [
304 text "[1]"
305 fontSize 12
306 fontName "Dialog"
307 configuration "AutoFlippingLabel"
308 contentWidth 17.341796875
309 contentHeight 18.701171875
310 model "six_pos"
311 position "ttail"
312 ]
313 ]
314 edge
315 [
316 source 1
317 target 5
318 label "next reference State"
319 graphics
320 [
321 fill "#000000"
322 targetArrow "standard"
323 ]
324 edgeAnchor
325 [
326 xSource 0.2690909090909091
327 ySource 0.35
328 ]
329 LabelGraphics
330 [
331 text "next reference State"
332 fontSize 12
333 fontName "Dialog"
334 configuration "AutoFlippingLabel"
335 contentWidth 112.064453125
336 contentHeight 18.701171875
337 model "six_pos"
338 position "head"
339 ]
340 LabelGraphics
341 [
342 text "[1]"
343 fontSize 12
344 fontName "Dialog"
345 configuration "AutoFlippingLabel"
346 contentWidth 17.341796875
347 contentHeight 18.701171875
348 model "six_pos"
349 position "stail"
350 ]
351 LabelGraphics
352 [
353 text "[1]"
354 fontSize 12
355 fontName "Dialog"
356 configuration "AutoFlippingLabel"
357 contentWidth 17.341796875
358 contentHeight 18.701171875
359 model "six_pos"
360 position "ttail"
361 ]
362 ]
363 edge
364 [
365 source 5
366 target 0
367 label "next reference State"
368 graphics
369 [
370 fill "#000000"
371 targetArrow "standard"
372 ]
373 edgeAnchor
374 [
375 xTarget 0.11636363636363636
376 ]
377 LabelGraphics
378 [
379 text "next reference State"
380 fontSize 12
381 fontName "Dialog"
382 configuration "AutoFlippingLabel"
383 contentWidth 112.064453125
384 contentHeight 18.701171875
385 model "six_pos"
386 position "head"
387 ]
388 LabelGraphics
389 [
390 text "[1]"
391 fontSize 12
392 fontName "Dialog"
393 configuration "AutoFlippingLabel"
394 contentWidth 17.341796875
395 contentHeight 18.701171875
396 model "six_pos"
397 position "stail"
398 ]
399 LabelGraphics
400 [
401 text "[1]"
402 fontSize 12
403 fontName "Dialog"
404 configuration "AutoFlippingLabel"
405 contentWidth 17.341796875
406 contentHeight 18.701171875
407 model "six_pos"
408 position "ttail"
409 ]
410 ]
411 edge
412 [
413 source 2
414 target 6
415 label "entry reference Entry"
416 graphics
417 [
418 fill "#000000"
419 targetArrow "standard"
420 ]
421 edgeAnchor
422 [
423 xSource -0.509090909090909
424 ]
425 LabelGraphics
426 [
427 text "entry reference Entry"
428 fontSize 12
429 fontName "Dialog"
430 configuration "AutoFlippingLabel"
431 contentWidth 116.048828125
432 contentHeight 18.701171875
433 model "six_pos"
434 position "head"
435 ]
436 LabelGraphics
437 [
438 text "[1]"
439 fontSize 12
440 fontName "Dialog"
441 configuration "AutoFlippingLabel"
442 contentWidth 17.341796875
443 contentHeight 18.701171875
444 model "six_pos"
445 position "stail"
446 ]
447 LabelGraphics
448 [
449 text "[1]"
450 fontSize 12
451 fontName "Dialog"
452 configuration "AutoFlippingLabel"
453 contentWidth 17.341796875
454 contentHeight 18.701171875
455 model "six_pos"
456 position "ttail"
457 ]
458 ]
459 edge
460 [
461 source 3
462 target 1
463 label "state reference Statechart"
464 graphics
465 [
466 fill "#000000"
467 targetArrow "standard"
468 ]
469 edgeAnchor
470 [
471 xTarget -0.21818181818181817
472 ]
473 LabelGraphics
474 [
475 text "state reference Statechart"
476 fontSize 12
477 fontName "Dialog"
478 configuration "AutoFlippingLabel"
479 contentWidth 142.076171875
480 contentHeight 18.701171875
481 model "six_pos"
482 position "head"
483 ]
484 LabelGraphics
485 [
486 text "[1, 1, 1, 1, 1]"
487 fontSize 12
488 fontName "Dialog"
489 configuration "AutoFlippingLabel"
490 contentWidth 70.708984375
491 contentHeight 18.701171875
492 model "six_pos"
493 position "stail"
494 ]
495 LabelGraphics
496 [
497 text "[1]"
498 fontSize 12
499 fontName "Dialog"
500 configuration "AutoFlippingLabel"
501 contentWidth 17.341796875
502 contentHeight 18.701171875
503 model "six_pos"
504 position "ttail"
505 ]
506 ]
507 edge
508 [
509 source 3
510 target 2
511 label "entry reference Statechart"
512 graphics
513 [
514 fill "#000000"
515 targetArrow "standard"
516 Line
517 [
518 point
519 [
520 x 23.0
521 y -252.0
522 ]
523 point
524 [
525 x -247.0
526 y -252.0
527 ]
528 point
529 [
530 x -247.0
531 y -148.0
532 ]
533 ]
534 ]
535 edgeAnchor
536 [
537 yTarget -1.0
538 ]
539 LabelGraphics
540 [
541 text "entry reference Statechart"
542 fontSize 12
543 fontName "Dialog"
544 configuration "AutoFlippingLabel"
545 contentWidth 142.73828125
546 contentHeight 18.701171875
547 model "six_pos"
548 position "head"
549 ]
550 LabelGraphics
551 [
552 text "[1]"
553 fontSize 12
554 fontName "Dialog"
555 configuration "AutoFlippingLabel"
556 contentWidth 17.341796875
557 contentHeight 18.701171875
558 model "six_pos"
559 position "stail"
560 ]
561 LabelGraphics
562 [
563 text "[1]"
564 fontSize 12
565 fontName "Dialog"
566 configuration "AutoFlippingLabel"
567 contentWidth 17.341796875
568 contentHeight 18.701171875
569 model "six_pos"
570 position "ttail"
571 ]
572 ]
573 edge
574 [
575 source 6
576 target 1
577 label "next reference State"
578 graphics
579 [
580 fill "#000000"
581 targetArrow "standard"
582 Line
583 [
584 point
585 [
586 x -282.0
587 y 153.0
588 ]
589 point
590 [
591 x 3.0
592 y 153.0
593 ]
594 point
595 [
596 x 38.0
597 y -148.0
598 ]
599 ]
600 ]
601 edgeAnchor
602 [
603 xTarget -0.509090909090909
604 ]
605 LabelGraphics
606 [
607 text "next reference State"
608 fontSize 12
609 fontName "Dialog"
610 configuration "AutoFlippingLabel"
611 contentWidth 112.064453125
612 contentHeight 18.701171875
613 model "six_pos"
614 position "head"
615 ]
616 LabelGraphics
617 [
618 text "[1]"
619 fontSize 12
620 fontName "Dialog"
621 configuration "AutoFlippingLabel"
622 contentWidth 17.341796875
623 contentHeight 18.701171875
624 model "six_pos"
625 position "stail"
626 ]
627 LabelGraphics
628 [
629 text "[1]"
630 fontSize 12
631 fontName "Dialog"
632 configuration "AutoFlippingLabel"
633 contentWidth 17.341796875
634 contentHeight 18.701171875
635 model "six_pos"
636 position "ttail"
637 ]
638 ]
639]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealisticMODEL.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealisticMODEL.gml
new file mode 100644
index 00000000..5102dc66
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCIrrealisticMODEL.gml
@@ -0,0 +1,698 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 41.800000000000004
9 h 26
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "true"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 "
30 fontSize 14
31 fontName "Consolas"
32 alignment "left"
33 anchor "tl"
34 borderDistance 6
35 ]
36 ]
37
38 node
39 [
40 id 1
41 graphics
42 [
43 w 50.6
44 h 26
45 type "rectangle"
46 fill "#FFFFFF"
47 fill2 "#FFFFFF"
48 outline "#000000"
49 ]
50 LabelGraphics
51 [
52 text "false"
53 outline "#000000"
54 fill "#FFFFFF"
55 fontSize 16
56 fontName "Monospace"
57 autoSizePolicy "node_width"
58 anchor "t"
59 borderDistance 0.0
60 ]
61 LabelGraphics
62 [
63 text "
64 "
65 fontSize 14
66 fontName "Consolas"
67 alignment "left"
68 anchor "tl"
69 borderDistance 6
70 ]
71 ]
72
73 node
74 [
75 id 2
76 graphics
77 [
78 w 138.60000000000002
79 h 40
80 type "rectangle"
81 fill "#FFFFFF"
82 fill2 "#FFFFFF"
83 outline "#000000"
84 ]
85 LabelGraphics
86 [
87 text "null"
88 outline "#000000"
89 fill "#FFFFFF"
90 fontSize 16
91 fontName "Monospace"
92 autoSizePolicy "node_width"
93 anchor "t"
94 borderDistance 0.0
95 ]
96 LabelGraphics
97 [
98 text "
99 Statechart class
100 "
101 fontSize 14
102 fontName "Consolas"
103 alignment "left"
104 anchor "tl"
105 borderDistance 6
106 ]
107 ]
108
109 node
110 [
111 id 3
112 graphics
113 [
114 w 100.10000000000001
115 h 40
116 type "rectangle"
117 fill "#FFFFFF"
118 fill2 "#FFFFFF"
119 outline "#000000"
120 ]
121 LabelGraphics
122 [
123 text "null"
124 outline "#000000"
125 fill "#FFFFFF"
126 fontSize 16
127 fontName "Monospace"
128 autoSizePolicy "node_width"
129 anchor "t"
130 borderDistance 0.0
131 ]
132 LabelGraphics
133 [
134 text "
135 State class
136 "
137 fontSize 14
138 fontName "Consolas"
139 alignment "left"
140 anchor "tl"
141 borderDistance 6
142 ]
143 ]
144
145 node
146 [
147 id 4
148 graphics
149 [
150 w 100.10000000000001
151 h 40
152 type "rectangle"
153 fill "#FFFFFF"
154 fill2 "#FFFFFF"
155 outline "#000000"
156 ]
157 LabelGraphics
158 [
159 text "null"
160 outline "#000000"
161 fill "#FFFFFF"
162 fontSize 16
163 fontName "Monospace"
164 autoSizePolicy "node_width"
165 anchor "t"
166 borderDistance 0.0
167 ]
168 LabelGraphics
169 [
170 text "
171 State class
172 "
173 fontSize 14
174 fontName "Consolas"
175 alignment "left"
176 anchor "tl"
177 borderDistance 6
178 ]
179 ]
180
181 node
182 [
183 id 5
184 graphics
185 [
186 w 100.10000000000001
187 h 40
188 type "rectangle"
189 fill "#FFFFFF"
190 fill2 "#FFFFFF"
191 outline "#000000"
192 ]
193 LabelGraphics
194 [
195 text "null"
196 outline "#000000"
197 fill "#FFFFFF"
198 fontSize 16
199 fontName "Monospace"
200 autoSizePolicy "node_width"
201 anchor "t"
202 borderDistance 0.0
203 ]
204 LabelGraphics
205 [
206 text "
207 State class
208 "
209 fontSize 14
210 fontName "Consolas"
211 alignment "left"
212 anchor "tl"
213 borderDistance 6
214 ]
215 ]
216
217 node
218 [
219 id 6
220 graphics
221 [
222 w 100.10000000000001
223 h 40
224 type "rectangle"
225 fill "#FFFFFF"
226 fill2 "#FFFFFF"
227 outline "#000000"
228 ]
229 LabelGraphics
230 [
231 text "null"
232 outline "#000000"
233 fill "#FFFFFF"
234 fontSize 16
235 fontName "Monospace"
236 autoSizePolicy "node_width"
237 anchor "t"
238 borderDistance 0.0
239 ]
240 LabelGraphics
241 [
242 text "
243 State class
244 "
245 fontSize 14
246 fontName "Consolas"
247 alignment "left"
248 anchor "tl"
249 borderDistance 6
250 ]
251 ]
252
253 node
254 [
255 id 7
256 graphics
257 [
258 w 100.10000000000001
259 h 40
260 type "rectangle"
261 fill "#FFFFFF"
262 fill2 "#FFFFFF"
263 outline "#000000"
264 ]
265 LabelGraphics
266 [
267 text "null"
268 outline "#000000"
269 fill "#FFFFFF"
270 fontSize 16
271 fontName "Monospace"
272 autoSizePolicy "node_width"
273 anchor "t"
274 borderDistance 0.0
275 ]
276 LabelGraphics
277 [
278 text "
279 State class
280 "
281 fontSize 14
282 fontName "Consolas"
283 alignment "left"
284 anchor "tl"
285 borderDistance 6
286 ]
287 ]
288
289 node
290 [
291 id 8
292 graphics
293 [
294 w 100.10000000000001
295 h 40
296 type "rectangle"
297 fill "#FFFFFF"
298 fill2 "#FFFFFF"
299 outline "#000000"
300 ]
301 LabelGraphics
302 [
303 text "null"
304 outline "#000000"
305 fill "#FFFFFF"
306 fontSize 16
307 fontName "Monospace"
308 autoSizePolicy "node_width"
309 anchor "t"
310 borderDistance 0.0
311 ]
312 LabelGraphics
313 [
314 text "
315 Entry class
316 "
317 fontSize 14
318 fontName "Consolas"
319 alignment "left"
320 anchor "tl"
321 borderDistance 6
322 ]
323 ]
324
325 node
326 [
327 id 9
328 graphics
329 [
330 w 112.2
331 h 26
332 type "rectangle"
333 fill "#FFFFFF"
334 fill2 "#FFFFFF"
335 outline "#000000"
336 ]
337 LabelGraphics
338 [
339 text "New Integers"
340 outline "#000000"
341 fill "#FFFFFF"
342 fontSize 16
343 fontName "Monospace"
344 autoSizePolicy "node_width"
345 anchor "t"
346 borderDistance 0.0
347 ]
348 LabelGraphics
349 [
350 text "
351 "
352 fontSize 14
353 fontName "Consolas"
354 alignment "left"
355 anchor "tl"
356 borderDistance 6
357 ]
358 ]
359
360 node
361 [
362 id 10
363 graphics
364 [
365 w 85.80000000000001
366 h 26
367 type "rectangle"
368 fill "#FFFFFF"
369 fill2 "#FFFFFF"
370 outline "#000000"
371 ]
372 LabelGraphics
373 [
374 text "New Reals"
375 outline "#000000"
376 fill "#FFFFFF"
377 fontSize 16
378 fontName "Monospace"
379 autoSizePolicy "node_width"
380 anchor "t"
381 borderDistance 0.0
382 ]
383 LabelGraphics
384 [
385 text "
386 "
387 fontSize 14
388 fontName "Consolas"
389 alignment "left"
390 anchor "tl"
391 borderDistance 6
392 ]
393 ]
394
395 node
396 [
397 id 11
398 graphics
399 [
400 w 103.4
401 h 26
402 type "rectangle"
403 fill "#FFFFFF"
404 fill2 "#FFFFFF"
405 outline "#000000"
406 ]
407 LabelGraphics
408 [
409 text "New Strings"
410 outline "#000000"
411 fill "#FFFFFF"
412 fontSize 16
413 fontName "Monospace"
414 autoSizePolicy "node_width"
415 anchor "t"
416 borderDistance 0.0
417 ]
418 LabelGraphics
419 [
420 text "
421 "
422 fontSize 14
423 fontName "Consolas"
424 alignment "left"
425 anchor "tl"
426 borderDistance 6
427 ]
428 ]
429
430 node
431 [
432 id 12
433 graphics
434 [
435 w 103.4
436 h 26
437 type "rectangle"
438 fill "#FFFFFF"
439 fill2 "#FFFFFF"
440 outline "#000000"
441 ]
442 LabelGraphics
443 [
444 text "New Objects"
445 outline "#000000"
446 fill "#FFFFFF"
447 fontSize 16
448 fontName "Monospace"
449 autoSizePolicy "node_width"
450 anchor "t"
451 borderDistance 0.0
452 ]
453 LabelGraphics
454 [
455 text "
456 "
457 fontSize 14
458 fontName "Consolas"
459 alignment "left"
460 anchor "tl"
461 borderDistance 6
462 ]
463 ]
464 edge
465 [
466 source 3
467 target 4
468 graphics
469 [
470 fill "#000000"
471 targetArrow "standard"
472 ]
473 LabelGraphics
474 [
475 text "next reference State"
476 fontSize 14
477 fontName "Consolas"
478 configuration "AutoFlippingLabel"
479 model "six_pos"
480 position "thead"
481 ]
482 ]
483 edge
484 [
485 source 4
486 target 5
487 graphics
488 [
489 fill "#000000"
490 targetArrow "standard"
491 ]
492 LabelGraphics
493 [
494 text "next reference State"
495 fontSize 14
496 fontName "Consolas"
497 configuration "AutoFlippingLabel"
498 model "six_pos"
499 position "thead"
500 ]
501 ]
502 edge
503 [
504 source 5
505 target 6
506 graphics
507 [
508 fill "#000000"
509 targetArrow "standard"
510 ]
511 LabelGraphics
512 [
513 text "next reference State"
514 fontSize 14
515 fontName "Consolas"
516 configuration "AutoFlippingLabel"
517 model "six_pos"
518 position "thead"
519 ]
520 ]
521 edge
522 [
523 source 6
524 target 7
525 graphics
526 [
527 fill "#000000"
528 targetArrow "standard"
529 ]
530 LabelGraphics
531 [
532 text "next reference State"
533 fontSize 14
534 fontName "Consolas"
535 configuration "AutoFlippingLabel"
536 model "six_pos"
537 position "thead"
538 ]
539 ]
540 edge
541 [
542 source 7
543 target 3
544 graphics
545 [
546 fill "#000000"
547 targetArrow "standard"
548 ]
549 LabelGraphics
550 [
551 text "next reference State"
552 fontSize 14
553 fontName "Consolas"
554 configuration "AutoFlippingLabel"
555 model "six_pos"
556 position "thead"
557 ]
558 ]
559 edge
560 [
561 source 8
562 target 3
563 graphics
564 [
565 fill "#000000"
566 targetArrow "standard"
567 ]
568 LabelGraphics
569 [
570 text "entry reference Entry"
571 fontSize 14
572 fontName "Consolas"
573 configuration "AutoFlippingLabel"
574 model "six_pos"
575 position "thead"
576 ]
577 ]
578 edge
579 [
580 source 2
581 target 3
582 graphics
583 [
584 fill "#000000"
585 width 3
586 targetArrow "standard"
587 ]
588 LabelGraphics
589 [
590 text "state reference Statechart"
591 fontSize 14
592 fontName "Consolas"
593 configuration "AutoFlippingLabel"
594 model "six_pos"
595 position "thead"
596 ]
597 ]
598 edge
599 [
600 source 2
601 target 4
602 graphics
603 [
604 fill "#000000"
605 width 3
606 targetArrow "standard"
607 ]
608 LabelGraphics
609 [
610 text "state reference Statechart"
611 fontSize 14
612 fontName "Consolas"
613 configuration "AutoFlippingLabel"
614 model "six_pos"
615 position "thead"
616 ]
617 ]
618 edge
619 [
620 source 2
621 target 5
622 graphics
623 [
624 fill "#000000"
625 width 3
626 targetArrow "standard"
627 ]
628 LabelGraphics
629 [
630 text "state reference Statechart"
631 fontSize 14
632 fontName "Consolas"
633 configuration "AutoFlippingLabel"
634 model "six_pos"
635 position "thead"
636 ]
637 ]
638 edge
639 [
640 source 2
641 target 6
642 graphics
643 [
644 fill "#000000"
645 width 3
646 targetArrow "standard"
647 ]
648 LabelGraphics
649 [
650 text "state reference Statechart"
651 fontSize 14
652 fontName "Consolas"
653 configuration "AutoFlippingLabel"
654 model "six_pos"
655 position "thead"
656 ]
657 ]
658 edge
659 [
660 source 2
661 target 7
662 graphics
663 [
664 fill "#000000"
665 width 3
666 targetArrow "standard"
667 ]
668 LabelGraphics
669 [
670 text "state reference Statechart"
671 fontSize 14
672 fontName "Consolas"
673 configuration "AutoFlippingLabel"
674 model "six_pos"
675 position "thead"
676 ]
677 ]
678 edge
679 [
680 source 2
681 target 8
682 graphics
683 [
684 fill "#000000"
685 width 3
686 targetArrow "standard"
687 ]
688 LabelGraphics
689 [
690 text "entry reference Statechart"
691 fontSize 14
692 fontName "Consolas"
693 configuration "AutoFlippingLabel"
694 model "six_pos"
695 position "thead"
696 ]
697 ]
698]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic0NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic0NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..05929964
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic0NEIGHBOURHOOD.gml
@@ -0,0 +1,314 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x 120.0
15 y 68.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (5)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 435.0
40 y 82.0
41 w 176.0
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[Statechart class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x -139.25
65 y 68.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[Entry class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 edge
84 [
85 source 0
86 target 0
87 label "next reference State"
88 graphics
89 [
90 fill "#000000"
91 targetArrow "standard"
92 Line
93 [
94 point
95 [
96 x 120.0
97 y 68.0
98 ]
99 point
100 [
101 x 90.0
102 y -141.0
103 ]
104 point
105 [
106 x 120.0
107 y 68.0
108 ]
109 ]
110 ]
111 LabelGraphics
112 [
113 text "next reference State"
114 fontSize 12
115 fontName "Dialog"
116 configuration "AutoFlippingLabel"
117 contentWidth 112.064453125
118 contentHeight 18.701171875
119 model "six_pos"
120 position "head"
121 ]
122 LabelGraphics
123 [
124 text "[1, 4, 1]"
125 fontSize 12
126 fontName "Dialog"
127 configuration "AutoFlippingLabel"
128 contentWidth 44.025390625
129 contentHeight 18.701171875
130 model "six_pos"
131 position "stail"
132 ]
133 LabelGraphics
134 [
135 text "[1, 2, 2, 1]"
136 fontSize 12
137 fontName "Dialog"
138 configuration "AutoFlippingLabel"
139 contentWidth 57.3671875
140 contentHeight 18.701171875
141 model "six_pos"
142 position "shead"
143 ]
144 ]
145 edge
146 [
147 source 1
148 target 0
149 label "state reference Statechart"
150 graphics
151 [
152 fill "#000000"
153 targetArrow "standard"
154 ]
155 edgeAnchor
156 [
157 ySource -0.7
158 ]
159 LabelGraphics
160 [
161 text "state reference Statechart"
162 fontSize 12
163 fontName "Dialog"
164 configuration "AutoFlippingLabel"
165 contentWidth 142.076171875
166 contentHeight 18.701171875
167 model "six_pos"
168 position "head"
169 ]
170 LabelGraphics
171 [
172 text "[5]"
173 fontSize 12
174 fontName "Dialog"
175 configuration "AutoFlippingLabel"
176 contentWidth 17.341796875
177 contentHeight 18.701171875
178 model "six_pos"
179 position "stail"
180 ]
181 LabelGraphics
182 [
183 text "[1, 1, 1, 1]"
184 fontSize 12
185 fontName "Dialog"
186 configuration "AutoFlippingLabel"
187 contentWidth 57.3671875
188 contentHeight 18.701171875
189 model "six_pos"
190 position "ttail"
191 ]
192 ]
193 edge
194 [
195 source 1
196 target 2
197 label "entry reference Statechart"
198 graphics
199 [
200 fill "#000000"
201 targetArrow "standard"
202 Line
203 [
204 point
205 [
206 x 435.0
207 y 82.0
208 ]
209 point
210 [
211 x 415.75
212 y 287.0
213 ]
214 point
215 [
216 x -139.25
217 y 287.0
218 ]
219 point
220 [
221 x -139.25
222 y 68.0
223 ]
224 ]
225 ]
226 edgeAnchor
227 [
228 xSource -0.21875
229 ]
230 LabelGraphics
231 [
232 text "entry reference Statechart"
233 fontSize 12
234 fontName "Dialog"
235 configuration "AutoFlippingLabel"
236 contentWidth 142.73828125
237 contentHeight 18.701171875
238 model "six_pos"
239 position "head"
240 ]
241 LabelGraphics
242 [
243 text "[1]"
244 fontSize 12
245 fontName "Dialog"
246 configuration "AutoFlippingLabel"
247 contentWidth 17.341796875
248 contentHeight 18.701171875
249 model "six_pos"
250 position "stail"
251 ]
252 LabelGraphics
253 [
254 text "[1]"
255 fontSize 12
256 fontName "Dialog"
257 configuration "AutoFlippingLabel"
258 contentWidth 17.341796875
259 contentHeight 18.701171875
260 model "six_pos"
261 position "ttail"
262 ]
263 ]
264 edge
265 [
266 source 2
267 target 0
268 label "entry reference Entry"
269 graphics
270 [
271 fill "#000000"
272 targetArrow "standard"
273 ]
274 edgeAnchor
275 [
276 ySource 0.35
277 xTarget -0.28
278 yTarget 0.35
279 ]
280 LabelGraphics
281 [
282 text "entry reference Entry"
283 fontSize 12
284 fontName "Dialog"
285 configuration "AutoFlippingLabel"
286 contentWidth 116.048828125
287 contentHeight 18.701171875
288 model "six_pos"
289 position "head"
290 ]
291 LabelGraphics
292 [
293 text "[1]"
294 fontSize 12
295 fontName "Dialog"
296 configuration "AutoFlippingLabel"
297 contentWidth 17.341796875
298 contentHeight 18.701171875
299 model "six_pos"
300 position "stail"
301 ]
302 LabelGraphics
303 [
304 text "[1, 0, 0, 0]"
305 fontSize 12
306 fontName "Dialog"
307 configuration "AutoFlippingLabel"
308 contentWidth 57.3671875
309 contentHeight 18.701171875
310 model "six_pos"
311 position "ttail"
312 ]
313 ]
314]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic1NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic1NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..09dff987
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic1NEIGHBOURHOOD.gml
@@ -0,0 +1,621 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 137.5
9 h 40
10 type "roundrectangle"
11 fill "#FFCC00"
12 outline "#000000"
13 ]
14 LabelGraphics
15 [
16 ]
17 LabelGraphics
18 [
19 text "[State class] (1)"
20 fontSize 14
21 fontName "Dialog"
22 ]
23 ]
24 node
25 [
26 id 1
27 graphics
28 [
29 w 137.5
30 h 40
31 type "roundrectangle"
32 fill "#FFCC00"
33 outline "#000000"
34 ]
35 LabelGraphics
36 [
37 ]
38 LabelGraphics
39 [
40 text "[Entry class] (1)"
41 fontSize 14
42 fontName "Dialog"
43 ]
44 ]
45 node
46 [
47 id 2
48 graphics
49 [
50 w 137.5
51 h 40
52 type "roundrectangle"
53 fill "#FFCC00"
54 outline "#000000"
55 ]
56 LabelGraphics
57 [
58 ]
59 LabelGraphics
60 [
61 text "[State class] (1)"
62 fontSize 14
63 fontName "Dialog"
64 ]
65 ]
66 node
67 [
68 id 3
69 graphics
70 [
71 w 137.5
72 h 40
73 type "roundrectangle"
74 fill "#FFCC00"
75 outline "#000000"
76 ]
77 LabelGraphics
78 [
79 ]
80 LabelGraphics
81 [
82 text "[State class] (1)"
83 fontSize 14
84 fontName "Dialog"
85 ]
86 ]
87 node
88 [
89 id 4
90 graphics
91 [
92 w 137.5
93 h 40
94 type "roundrectangle"
95 fill "#FFCC00"
96 outline "#000000"
97 ]
98 LabelGraphics
99 [
100 ]
101 LabelGraphics
102 [
103 text "[State class] (2)"
104 fontSize 14
105 fontName "Dialog"
106 ]
107 ]
108 node
109 [
110 id 5
111 graphics
112 [
113 w 176.0
114 h 40
115 type "roundrectangle"
116 fill "#FFCC00"
117 outline "#000000"
118 ]
119 LabelGraphics
120 [
121 ]
122 LabelGraphics
123 [
124 text "[Statechart class] (1)"
125 fontSize 14
126 fontName "Dialog"
127 ]
128 ]
129 edge
130 [
131 source 1
132 target 2
133 label "entry reference Entry"
134 graphics
135 [
136 fill "#000000"
137 targetArrow "standard"
138 Line
139 [
140 ]
141 ]
142 LabelGraphics
143 [
144 text "entry reference Entry"
145 fontSize 12
146 fontName "Dialog"
147 configuration "AutoFlippingLabel"
148 model "six_pos"
149 position "head"
150 ]
151 LabelGraphics
152 [
153 text "[1]"
154 fontSize 12
155 fontName "Dialog"
156 configuration "AutoFlippingLabel"
157 model "six_pos"
158 position "stail"
159 ]
160 LabelGraphics
161 [
162 text "[1]"
163 fontSize 12
164 fontName "Dialog"
165 configuration "AutoFlippingLabel"
166 model "six_pos"
167 position "ttail"
168 ]
169 ]
170 edge
171 [
172 source 3
173 target 2
174 label "next reference State"
175 graphics
176 [
177 fill "#000000"
178 targetArrow "standard"
179 Line
180 [
181 ]
182 ]
183 LabelGraphics
184 [
185 text "next reference State"
186 fontSize 12
187 fontName "Dialog"
188 configuration "AutoFlippingLabel"
189 model "six_pos"
190 position "head"
191 ]
192 LabelGraphics
193 [
194 text "[1]"
195 fontSize 12
196 fontName "Dialog"
197 configuration "AutoFlippingLabel"
198 model "six_pos"
199 position "stail"
200 ]
201 LabelGraphics
202 [
203 text "[1, 1, 1, 1]"
204 fontSize 12
205 fontName "Dialog"
206 configuration "AutoFlippingLabel"
207 model "six_pos"
208 position "ttail"
209 ]
210 ]
211 edge
212 [
213 source 3
214 target 0
215 label "next reference State"
216 graphics
217 [
218 fill "#000000"
219 targetArrow "standard"
220 Line
221 [
222 ]
223 ]
224 LabelGraphics
225 [
226 text "next reference State"
227 fontSize 12
228 fontName "Dialog"
229 configuration "AutoFlippingLabel"
230 model "six_pos"
231 position "head"
232 ]
233 LabelGraphics
234 [
235 text "[1]"
236 fontSize 12
237 fontName "Dialog"
238 configuration "AutoFlippingLabel"
239 model "six_pos"
240 position "stail"
241 ]
242 LabelGraphics
243 [
244 text "[1, 1, 1, 1]"
245 fontSize 12
246 fontName "Dialog"
247 configuration "AutoFlippingLabel"
248 model "six_pos"
249 position "ttail"
250 ]
251 ]
252 edge
253 [
254 source 3
255 target 4
256 label "next reference State"
257 graphics
258 [
259 fill "#000000"
260 targetArrow "standard"
261 Line
262 [
263 ]
264 ]
265 LabelGraphics
266 [
267 text "next reference State"
268 fontSize 12
269 fontName "Dialog"
270 configuration "AutoFlippingLabel"
271 model "six_pos"
272 position "head"
273 ]
274 LabelGraphics
275 [
276 text "[2]"
277 fontSize 12
278 fontName "Dialog"
279 configuration "AutoFlippingLabel"
280 model "six_pos"
281 position "stail"
282 ]
283 LabelGraphics
284 [
285 text "[1, 1, 1, 1]"
286 fontSize 12
287 fontName "Dialog"
288 configuration "AutoFlippingLabel"
289 model "six_pos"
290 position "ttail"
291 ]
292 ]
293 edge
294 [
295 source 2
296 target 3
297 label "next reference State"
298 graphics
299 [
300 fill "#000000"
301 targetArrow "standard"
302 Line
303 [
304 ]
305 ]
306 LabelGraphics
307 [
308 text "next reference State"
309 fontSize 12
310 fontName "Dialog"
311 configuration "AutoFlippingLabel"
312 model "six_pos"
313 position "head"
314 ]
315 LabelGraphics
316 [
317 text "[1]"
318 fontSize 12
319 fontName "Dialog"
320 configuration "AutoFlippingLabel"
321 model "six_pos"
322 position "stail"
323 ]
324 LabelGraphics
325 [
326 text "[1]"
327 fontSize 12
328 fontName "Dialog"
329 configuration "AutoFlippingLabel"
330 model "six_pos"
331 position "ttail"
332 ]
333 ]
334 edge
335 [
336 source 4
337 target 2
338 label "next reference State"
339 graphics
340 [
341 fill "#000000"
342 targetArrow "standard"
343 Line
344 [
345 ]
346 ]
347 LabelGraphics
348 [
349 text "next reference State"
350 fontSize 12
351 fontName "Dialog"
352 configuration "AutoFlippingLabel"
353 model "six_pos"
354 position "head"
355 ]
356 LabelGraphics
357 [
358 text "[1, 0]"
359 fontSize 12
360 fontName "Dialog"
361 configuration "AutoFlippingLabel"
362 model "six_pos"
363 position "stail"
364 ]
365 LabelGraphics
366 [
367 text "[1, 1]"
368 fontSize 12
369 fontName "Dialog"
370 configuration "AutoFlippingLabel"
371 model "six_pos"
372 position "ttail"
373 ]
374 ]
375 edge
376 [
377 source 4
378 target 3
379 label "next reference State"
380 graphics
381 [
382 fill "#000000"
383 targetArrow "standard"
384 Line
385 [
386 ]
387 ]
388 LabelGraphics
389 [
390 text "next reference State"
391 fontSize 12
392 fontName "Dialog"
393 configuration "AutoFlippingLabel"
394 model "six_pos"
395 position "head"
396 ]
397 LabelGraphics
398 [
399 text "[1, 0]"
400 fontSize 12
401 fontName "Dialog"
402 configuration "AutoFlippingLabel"
403 model "six_pos"
404 position "stail"
405 ]
406 LabelGraphics
407 [
408 text "[1, 1]"
409 fontSize 12
410 fontName "Dialog"
411 configuration "AutoFlippingLabel"
412 model "six_pos"
413 position "ttail"
414 ]
415 ]
416 edge
417 [
418 source 5
419 target 2
420 label "state reference Statechart"
421 graphics
422 [
423 fill "#000000"
424 targetArrow "standard"
425 Line
426 [
427 ]
428 ]
429 LabelGraphics
430 [
431 text "state reference Statechart"
432 fontSize 12
433 fontName "Dialog"
434 configuration "AutoFlippingLabel"
435 model "six_pos"
436 position "head"
437 ]
438 LabelGraphics
439 [
440 text "[1]"
441 fontSize 12
442 fontName "Dialog"
443 configuration "AutoFlippingLabel"
444 model "six_pos"
445 position "stail"
446 ]
447 LabelGraphics
448 [
449 text "[1, 1, 1, 1, 1]"
450 fontSize 12
451 fontName "Dialog"
452 configuration "AutoFlippingLabel"
453 model "six_pos"
454 position "ttail"
455 ]
456 ]
457 edge
458 [
459 source 5
460 target 1
461 label "entry reference Statechart"
462 graphics
463 [
464 fill "#000000"
465 targetArrow "standard"
466 Line
467 [
468 ]
469 ]
470 LabelGraphics
471 [
472 text "entry reference Statechart"
473 fontSize 12
474 fontName "Dialog"
475 configuration "AutoFlippingLabel"
476 model "six_pos"
477 position "head"
478 ]
479 LabelGraphics
480 [
481 text "[1]"
482 fontSize 12
483 fontName "Dialog"
484 configuration "AutoFlippingLabel"
485 model "six_pos"
486 position "stail"
487 ]
488 LabelGraphics
489 [
490 text "[1]"
491 fontSize 12
492 fontName "Dialog"
493 configuration "AutoFlippingLabel"
494 model "six_pos"
495 position "ttail"
496 ]
497 ]
498 edge
499 [
500 source 5
501 target 4
502 label "state reference Statechart"
503 graphics
504 [
505 fill "#000000"
506 targetArrow "standard"
507 Line
508 [
509 ]
510 ]
511 LabelGraphics
512 [
513 text "state reference Statechart"
514 fontSize 12
515 fontName "Dialog"
516 configuration "AutoFlippingLabel"
517 model "six_pos"
518 position "head"
519 ]
520 LabelGraphics
521 [
522 text "[2]"
523 fontSize 12
524 fontName "Dialog"
525 configuration "AutoFlippingLabel"
526 model "six_pos"
527 position "stail"
528 ]
529 LabelGraphics
530 [
531 text "[1, 1, 1, 1, 1]"
532 fontSize 12
533 fontName "Dialog"
534 configuration "AutoFlippingLabel"
535 model "six_pos"
536 position "ttail"
537 ]
538 ]
539 edge
540 [
541 source 5
542 target 3
543 label "state reference Statechart"
544 graphics
545 [
546 fill "#000000"
547 targetArrow "standard"
548 Line
549 [
550 ]
551 ]
552 LabelGraphics
553 [
554 text "state reference Statechart"
555 fontSize 12
556 fontName "Dialog"
557 configuration "AutoFlippingLabel"
558 model "six_pos"
559 position "head"
560 ]
561 LabelGraphics
562 [
563 text "[1]"
564 fontSize 12
565 fontName "Dialog"
566 configuration "AutoFlippingLabel"
567 model "six_pos"
568 position "stail"
569 ]
570 LabelGraphics
571 [
572 text "[1, 1, 1, 1, 1]"
573 fontSize 12
574 fontName "Dialog"
575 configuration "AutoFlippingLabel"
576 model "six_pos"
577 position "ttail"
578 ]
579 ]
580 edge
581 [
582 source 5
583 target 0
584 label "state reference Statechart"
585 graphics
586 [
587 fill "#000000"
588 targetArrow "standard"
589 Line
590 [
591 ]
592 ]
593 LabelGraphics
594 [
595 text "state reference Statechart"
596 fontSize 12
597 fontName "Dialog"
598 configuration "AutoFlippingLabel"
599 model "six_pos"
600 position "head"
601 ]
602 LabelGraphics
603 [
604 text "[1]"
605 fontSize 12
606 fontName "Dialog"
607 configuration "AutoFlippingLabel"
608 model "six_pos"
609 position "stail"
610 ]
611 LabelGraphics
612 [
613 text "[1, 1, 1, 1, 1]"
614 fontSize 12
615 fontName "Dialog"
616 configuration "AutoFlippingLabel"
617 model "six_pos"
618 position "ttail"
619 ]
620 ]
621]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic2NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic2NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..aa0f19b6
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic2NEIGHBOURHOOD.gml
@@ -0,0 +1,559 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x -321.0
15 y 198.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 312.0
40 y -56.0
41 w 137.5
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[State class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x 337.0
65 y 323.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[State class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x 40.75
90 y 192.0
91 w 137.5
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[State class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 node
109 [
110 id 4
111 label ""
112 graphics
113 [
114 x -321.0
115 y 47.0
116 w 137.5
117 h 40.0
118 type "roundrectangle"
119 fill "#FFCC00"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 ]
125 LabelGraphics
126 [
127 text "[State class] (1)"
128 fontSize 14
129 fontName "Dialog"
130 anchor "c"
131 ]
132 ]
133 node
134 [
135 id 5
136 label ""
137 graphics
138 [
139 x 312.0
140 y -193.0
141 w 176.0
142 h 40.0
143 type "roundrectangle"
144 fill "#FFCC00"
145 outline "#000000"
146 ]
147 LabelGraphics
148 [
149 ]
150 LabelGraphics
151 [
152 text "[Statechart class] (1)"
153 fontSize 14
154 fontName "Dialog"
155 anchor "c"
156 ]
157 ]
158 node
159 [
160 id 6
161 label ""
162 graphics
163 [
164 x 40.75
165 y -128.0
166 w 137.5
167 h 40.0
168 type "roundrectangle"
169 fill "#FFCC00"
170 outline "#000000"
171 ]
172 LabelGraphics
173 [
174 ]
175 LabelGraphics
176 [
177 text "[Entry class] (1)"
178 fontSize 14
179 fontName "Dialog"
180 anchor "c"
181 ]
182 ]
183 edge
184 [
185 source 2
186 target 3
187 label "next reference State"
188 graphics
189 [
190 fill "#000000"
191 targetArrow "standard"
192 Line
193 [
194 point
195 [
196 x 337.0
197 y 323.0
198 ]
199 point
200 [
201 x 40.75
202 y 323.0
203 ]
204 point
205 [
206 x 40.75
207 y 192.0
208 ]
209 ]
210 ]
211 LabelGraphics
212 [
213 text "next reference State"
214 fontSize 12
215 fontName "Dialog"
216 configuration "AutoFlippingLabel"
217 contentWidth 112.064453125
218 contentHeight 18.701171875
219 model "six_pos"
220 position "head"
221 ]
222 LabelGraphics
223 [
224 text "[1, 1, 1, 1]"
225 fontSize 12
226 fontName "Dialog"
227 configuration "AutoFlippingLabel"
228 contentWidth 57.3671875
229 contentHeight 18.701171875
230 model "six_pos"
231 position "stail"
232 ]
233 LabelGraphics
234 [
235 text "[1]"
236 fontSize 12
237 fontName "Dialog"
238 configuration "AutoFlippingLabel"
239 contentWidth 17.341796875
240 contentHeight 18.701171875
241 model "six_pos"
242 position "ttail"
243 ]
244 ]
245 edge
246 [
247 source 3
248 target 2
249 label "next reference State"
250 graphics
251 [
252 fill "#000000"
253 targetArrow "standard"
254 Line
255 [
256 point
257 [
258 x 40.75
259 y 192.0
260 ]
261 point
262 [
263 x 40.75
264 y 323.0
265 ]
266 point
267 [
268 x 337.0
269 y 323.0
270 ]
271 ]
272 ]
273 LabelGraphics
274 [
275 text "next reference State"
276 fontSize 12
277 fontName "Dialog"
278 configuration "AutoFlippingLabel"
279 contentWidth 112.064453125
280 contentHeight 18.701171875
281 model "six_pos"
282 position "head"
283 ]
284 LabelGraphics
285 [
286 text "[1]"
287 fontSize 12
288 fontName "Dialog"
289 configuration "AutoFlippingLabel"
290 contentWidth 17.341796875
291 contentHeight 18.701171875
292 model "six_pos"
293 position "stail"
294 ]
295 LabelGraphics
296 [
297 text "[1]"
298 fontSize 12
299 fontName "Dialog"
300 configuration "AutoFlippingLabel"
301 contentWidth 17.341796875
302 contentHeight 18.701171875
303 model "six_pos"
304 position "ttail"
305 ]
306 ]
307 edge
308 [
309 source 5
310 target 1
311 label "state reference Statechart"
312 graphics
313 [
314 fill "#000000"
315 targetArrow "standard"
316 ]
317 LabelGraphics
318 [
319 text "state reference Statechart"
320 fontSize 12
321 fontName "Dialog"
322 configuration "AutoFlippingLabel"
323 contentWidth 142.076171875
324 contentHeight 18.701171875
325 model "six_pos"
326 position "head"
327 ]
328 LabelGraphics
329 [
330 text "[1, 1, 1, 1, 1]"
331 fontSize 12
332 fontName "Dialog"
333 configuration "AutoFlippingLabel"
334 contentWidth 70.708984375
335 contentHeight 18.701171875
336 model "six_pos"
337 position "stail"
338 ]
339 LabelGraphics
340 [
341 text "[1]"
342 fontSize 12
343 fontName "Dialog"
344 configuration "AutoFlippingLabel"
345 contentWidth 17.341796875
346 contentHeight 18.701171875
347 model "six_pos"
348 position "ttail"
349 ]
350 ]
351 edge
352 [
353 source 5
354 target 6
355 label "entry reference Statechart"
356 graphics
357 [
358 fill "#000000"
359 targetArrow "standard"
360 Line
361 [
362 point
363 [
364 x 312.0
365 y -193.0
366 ]
367 point
368 [
369 x 40.75
370 y -193.0
371 ]
372 point
373 [
374 x 40.75
375 y -128.0
376 ]
377 ]
378 ]
379 edgeAnchor
380 [
381 xSource -0.5113636363636364
382 ]
383 LabelGraphics
384 [
385 text "entry reference Statechart"
386 fontSize 12
387 fontName "Dialog"
388 configuration "AutoFlippingLabel"
389 contentWidth 142.73828125
390 contentHeight 18.701171875
391 model "six_pos"
392 position "head"
393 ]
394 LabelGraphics
395 [
396 text "[1]"
397 fontSize 12
398 fontName "Dialog"
399 configuration "AutoFlippingLabel"
400 contentWidth 17.341796875
401 contentHeight 18.701171875
402 model "six_pos"
403 position "stail"
404 ]
405 LabelGraphics
406 [
407 text "[1]"
408 fontSize 12
409 fontName "Dialog"
410 configuration "AutoFlippingLabel"
411 contentWidth 17.341796875
412 contentHeight 18.701171875
413 model "six_pos"
414 position "ttail"
415 ]
416 ]
417 edge
418 [
419 source 0
420 target 3
421 label "next reference State"
422 graphics
423 [
424 fill "#000000"
425 targetArrow "standard"
426 ]
427 edgeAnchor
428 [
429 yTarget 0.3
430 ]
431 LabelGraphics
432 [
433 text "next reference State"
434 fontSize 12
435 fontName "Dialog"
436 configuration "AutoFlippingLabel"
437 contentWidth 112.064453125
438 contentHeight 18.701171875
439 model "six_pos"
440 position "head"
441 ]
442 LabelGraphics
443 [
444 text "[1]"
445 fontSize 12
446 fontName "Dialog"
447 configuration "AutoFlippingLabel"
448 contentWidth 17.341796875
449 contentHeight 18.701171875
450 model "six_pos"
451 position "stail"
452 ]
453 LabelGraphics
454 [
455 text "[1]"
456 fontSize 12
457 fontName "Dialog"
458 configuration "AutoFlippingLabel"
459 contentWidth 17.341796875
460 contentHeight 18.701171875
461 model "six_pos"
462 position "ttail"
463 ]
464 ]
465 edge
466 [
467 source 6
468 target 3
469 label "entry reference Entry"
470 graphics
471 [
472 fill "#000000"
473 targetArrow "standard"
474 ]
475 LabelGraphics
476 [
477 text "entry reference Entry"
478 fontSize 12
479 fontName "Dialog"
480 configuration "AutoFlippingLabel"
481 contentWidth 116.048828125
482 contentHeight 18.701171875
483 model "six_pos"
484 position "head"
485 ]
486 LabelGraphics
487 [
488 text "[1]"
489 fontSize 12
490 fontName "Dialog"
491 configuration "AutoFlippingLabel"
492 contentWidth 17.341796875
493 contentHeight 18.701171875
494 model "six_pos"
495 position "stail"
496 ]
497 LabelGraphics
498 [
499 text "[1]"
500 fontSize 12
501 fontName "Dialog"
502 configuration "AutoFlippingLabel"
503 contentWidth 17.341796875
504 contentHeight 18.701171875
505 model "six_pos"
506 position "ttail"
507 ]
508 ]
509 edge
510 [
511 source 1
512 target 2
513 label "next reference State"
514 graphics
515 [
516 fill "#000000"
517 targetArrow "standard"
518 ]
519 edgeAnchor
520 [
521 xSource 0.5454545454545454
522 xTarget 0.18181818181818182
523 yTarget -0.75
524 ]
525 LabelGraphics
526 [
527 text "next reference State"
528 fontSize 12
529 fontName "Dialog"
530 configuration "AutoFlippingLabel"
531 contentWidth 112.064453125
532 contentHeight 18.701171875
533 model "six_pos"
534 position "head"
535 ]
536 LabelGraphics
537 [
538 text "[1]"
539 fontSize 12
540 fontName "Dialog"
541 configuration "AutoFlippingLabel"
542 contentWidth 17.341796875
543 contentHeight 18.701171875
544 model "six_pos"
545 position "stail"
546 ]
547 LabelGraphics
548 [
549 text "[1]"
550 fontSize 12
551 fontName "Dialog"
552 configuration "AutoFlippingLabel"
553 contentWidth 17.341796875
554 contentHeight 18.701171875
555 model "six_pos"
556 position "ttail"
557 ]
558 ]
559]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic3NEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic3NEIGHBOURHOOD.gml
new file mode 100644
index 00000000..8127e609
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealistic3NEIGHBOURHOOD.gml
@@ -0,0 +1,599 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label ""
12 graphics
13 [
14 x -158.5
15 y -79.0
16 w 137.5
17 h 40.0
18 type "roundrectangle"
19 fill "#FFCC00"
20 outline "#000000"
21 ]
22 LabelGraphics
23 [
24 ]
25 LabelGraphics
26 [
27 text "[State class] (1)"
28 fontSize 14
29 fontName "Dialog"
30 anchor "c"
31 ]
32 ]
33 node
34 [
35 id 1
36 label ""
37 graphics
38 [
39 x 229.25
40 y 230.0
41 w 137.5
42 h 40.0
43 type "roundrectangle"
44 fill "#FFCC00"
45 outline "#000000"
46 ]
47 LabelGraphics
48 [
49 ]
50 LabelGraphics
51 [
52 text "[State class] (1)"
53 fontSize 14
54 fontName "Dialog"
55 anchor "c"
56 ]
57 ]
58 node
59 [
60 id 2
61 label ""
62 graphics
63 [
64 x 93.0
65 y 9.0
66 w 137.5
67 h 40.0
68 type "roundrectangle"
69 fill "#FFCC00"
70 outline "#000000"
71 ]
72 LabelGraphics
73 [
74 ]
75 LabelGraphics
76 [
77 text "[State class] (1)"
78 fontSize 14
79 fontName "Dialog"
80 anchor "c"
81 ]
82 ]
83 node
84 [
85 id 3
86 label ""
87 graphics
88 [
89 x 424.0
90 y 43.0
91 w 137.5
92 h 40.0
93 type "roundrectangle"
94 fill "#FFCC00"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 ]
100 LabelGraphics
101 [
102 text "[State class] (1)"
103 fontSize 14
104 fontName "Dialog"
105 anchor "c"
106 ]
107 ]
108 node
109 [
110 id 4
111 label ""
112 graphics
113 [
114 x -416.0
115 y 9.0
116 w 137.5
117 h 40.0
118 type "roundrectangle"
119 fill "#FFCC00"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 ]
125 LabelGraphics
126 [
127 text "[Entry class] (1)"
128 fontSize 14
129 fontName "Dialog"
130 anchor "c"
131 ]
132 ]
133 node
134 [
135 id 5
136 label ""
137 graphics
138 [
139 x -197.0
140 y 243.0
141 w 137.5
142 h 40.0
143 type "roundrectangle"
144 fill "#FFCC00"
145 outline "#000000"
146 ]
147 LabelGraphics
148 [
149 ]
150 LabelGraphics
151 [
152 text "[State class] (1)"
153 fontSize 14
154 fontName "Dialog"
155 anchor "c"
156 ]
157 ]
158 node
159 [
160 id 6
161 label ""
162 graphics
163 [
164 x -177.75
165 y -230.0
166 w 176.0
167 h 40.0
168 type "roundrectangle"
169 fill "#FFCC00"
170 outline "#000000"
171 ]
172 LabelGraphics
173 [
174 ]
175 LabelGraphics
176 [
177 text "[Statechart class] (1)"
178 fontSize 14
179 fontName "Dialog"
180 anchor "c"
181 ]
182 ]
183 edge
184 [
185 source 3
186 target 1
187 label "next reference State"
188 graphics
189 [
190 fill "#000000"
191 targetArrow "standard"
192 Line
193 [
194 point
195 [
196 x 424.0
197 y 43.0
198 ]
199 point
200 [
201 x 424.0
202 y 230.0
203 ]
204 point
205 [
206 x 229.25
207 y 230.0
208 ]
209 ]
210 ]
211 LabelGraphics
212 [
213 text "next reference State"
214 fontSize 12
215 fontName "Dialog"
216 configuration "AutoFlippingLabel"
217 contentWidth 112.064453125
218 contentHeight 18.701171875
219 model "six_pos"
220 position "head"
221 ]
222 LabelGraphics
223 [
224 text "[1]"
225 fontSize 12
226 fontName "Dialog"
227 configuration "AutoFlippingLabel"
228 contentWidth 17.341796875
229 contentHeight 18.701171875
230 model "six_pos"
231 position "stail"
232 ]
233 LabelGraphics
234 [
235 text "[1]"
236 fontSize 12
237 fontName "Dialog"
238 configuration "AutoFlippingLabel"
239 contentWidth 17.341796875
240 contentHeight 18.701171875
241 model "six_pos"
242 position "ttail"
243 ]
244 ]
245 edge
246 [
247 source 4
248 target 5
249 label "entry reference Entry"
250 graphics
251 [
252 fill "#000000"
253 targetArrow "standard"
254 Line
255 [
256 point
257 [
258 x -416.0
259 y 9.0
260 ]
261 point
262 [
263 x -321.0
264 y 9.0
265 ]
266 point
267 [
268 x -321.0
269 y 250.0
270 ]
271 point
272 [
273 x -197.0
274 y 243.0
275 ]
276 ]
277 ]
278 edgeAnchor
279 [
280 yTarget 0.35
281 ]
282 LabelGraphics
283 [
284 text "entry reference Entry"
285 fontSize 12
286 fontName "Dialog"
287 configuration "AutoFlippingLabel"
288 contentWidth 116.048828125
289 contentHeight 18.701171875
290 model "six_pos"
291 position "head"
292 ]
293 LabelGraphics
294 [
295 text "[1]"
296 fontSize 12
297 fontName "Dialog"
298 configuration "AutoFlippingLabel"
299 contentWidth 17.341796875
300 contentHeight 18.701171875
301 model "six_pos"
302 position "stail"
303 ]
304 LabelGraphics
305 [
306 text "[1]"
307 fontSize 12
308 fontName "Dialog"
309 configuration "AutoFlippingLabel"
310 contentWidth 17.341796875
311 contentHeight 18.701171875
312 model "six_pos"
313 position "ttail"
314 ]
315 ]
316 edge
317 [
318 source 5
319 target 1
320 label "next reference State"
321 graphics
322 [
323 fill "#000000"
324 targetArrow "standard"
325 Line
326 [
327 point
328 [
329 x -197.0
330 y 243.0
331 ]
332 point
333 [
334 x -180.9375
335 y 306.0
336 ]
337 point
338 [
339 x 229.25
340 y 306.0
341 ]
342 point
343 [
344 x 229.25
345 y 230.0
346 ]
347 ]
348 ]
349 edgeAnchor
350 [
351 xSource 0.23363636363636364
352 yTarget 1.0
353 ]
354 LabelGraphics
355 [
356 text "next reference State"
357 fontSize 12
358 fontName "Dialog"
359 configuration "AutoFlippingLabel"
360 contentWidth 112.064453125
361 contentHeight 18.701171875
362 model "six_pos"
363 position "head"
364 ]
365 LabelGraphics
366 [
367 text "[1]"
368 fontSize 12
369 fontName "Dialog"
370 configuration "AutoFlippingLabel"
371 contentWidth 17.341796875
372 contentHeight 18.701171875
373 model "six_pos"
374 position "stail"
375 ]
376 LabelGraphics
377 [
378 text "[1]"
379 fontSize 12
380 fontName "Dialog"
381 configuration "AutoFlippingLabel"
382 contentWidth 17.341796875
383 contentHeight 18.701171875
384 model "six_pos"
385 position "ttail"
386 ]
387 ]
388 edge
389 [
390 source 0
391 target 5
392 label "next reference State"
393 graphics
394 [
395 fill "#000000"
396 targetArrow "standard"
397 ]
398 edgeAnchor
399 [
400 xSource -0.56
401 ]
402 LabelGraphics
403 [
404 text "next reference State"
405 fontSize 12
406 fontName "Dialog"
407 configuration "AutoFlippingLabel"
408 contentWidth 112.064453125
409 contentHeight 18.701171875
410 model "six_pos"
411 position "head"
412 ]
413 LabelGraphics
414 [
415 text "[1]"
416 fontSize 12
417 fontName "Dialog"
418 configuration "AutoFlippingLabel"
419 contentWidth 17.341796875
420 contentHeight 18.701171875
421 model "six_pos"
422 position "stail"
423 ]
424 LabelGraphics
425 [
426 text "[1]"
427 fontSize 12
428 fontName "Dialog"
429 configuration "AutoFlippingLabel"
430 contentWidth 17.341796875
431 contentHeight 18.701171875
432 model "six_pos"
433 position "ttail"
434 ]
435 ]
436 edge
437 [
438 source 6
439 target 0
440 label "state reference Statechart"
441 graphics
442 [
443 fill "#000000"
444 targetArrow "standard"
445 ]
446 edgeAnchor
447 [
448 xSource 0.21875
449 ]
450 LabelGraphics
451 [
452 text "state reference Statechart"
453 fontSize 12
454 fontName "Dialog"
455 configuration "AutoFlippingLabel"
456 contentWidth 142.076171875
457 contentHeight 18.701171875
458 model "six_pos"
459 position "head"
460 ]
461 LabelGraphics
462 [
463 text "[1, 1, 1, 1, 1]"
464 fontSize 12
465 fontName "Dialog"
466 configuration "AutoFlippingLabel"
467 contentWidth 70.708984375
468 contentHeight 18.701171875
469 model "six_pos"
470 position "stail"
471 ]
472 LabelGraphics
473 [
474 text "[1]"
475 fontSize 12
476 fontName "Dialog"
477 configuration "AutoFlippingLabel"
478 contentWidth 17.341796875
479 contentHeight 18.701171875
480 model "six_pos"
481 position "ttail"
482 ]
483 ]
484 edge
485 [
486 source 6
487 target 4
488 label "entry reference Statechart"
489 graphics
490 [
491 fill "#000000"
492 targetArrow "standard"
493 Line
494 [
495 point
496 [
497 x -177.75
498 y -230.0
499 ]
500 point
501 [
502 x -416.0
503 y -230.0
504 ]
505 point
506 [
507 x -416.0
508 y 9.0
509 ]
510 ]
511 ]
512 edgeAnchor
513 [
514 xSource -0.7727272727272727
515 ]
516 LabelGraphics
517 [
518 text "entry reference Statechart"
519 fontSize 12
520 fontName "Dialog"
521 configuration "AutoFlippingLabel"
522 contentWidth 142.73828125
523 contentHeight 18.701171875
524 model "six_pos"
525 position "head"
526 ]
527 LabelGraphics
528 [
529 text "[1]"
530 fontSize 12
531 fontName "Dialog"
532 configuration "AutoFlippingLabel"
533 contentWidth 17.341796875
534 contentHeight 18.701171875
535 model "six_pos"
536 position "stail"
537 ]
538 LabelGraphics
539 [
540 text "[1]"
541 fontSize 12
542 fontName "Dialog"
543 configuration "AutoFlippingLabel"
544 contentWidth 17.341796875
545 contentHeight 18.701171875
546 model "six_pos"
547 position "ttail"
548 ]
549 ]
550 edge
551 [
552 source 1
553 target 5
554 label "next reference State"
555 graphics
556 [
557 fill "#000000"
558 targetArrow "standard"
559 ]
560 edgeAnchor
561 [
562 xTarget 0.5672727272727273
563 yTarget -0.65
564 ]
565 LabelGraphics
566 [
567 text "next reference State"
568 fontSize 12
569 fontName "Dialog"
570 configuration "AutoFlippingLabel"
571 contentWidth 112.064453125
572 contentHeight 18.701171875
573 model "six_pos"
574 position "head"
575 ]
576 LabelGraphics
577 [
578 text "[1, 1, 1, 1]"
579 fontSize 12
580 fontName "Dialog"
581 configuration "AutoFlippingLabel"
582 contentWidth 57.3671875
583 contentHeight 18.701171875
584 model "six_pos"
585 position "stail"
586 ]
587 LabelGraphics
588 [
589 text "[1]"
590 fontSize 12
591 fontName "Dialog"
592 configuration "AutoFlippingLabel"
593 contentWidth 17.341796875
594 contentHeight 18.701171875
595 model "six_pos"
596 position "ttail"
597 ]
598 ]
599]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealisticMODEL.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealisticMODEL.gml
new file mode 100644
index 00000000..584651de
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleSCRealisticMODEL.gml
@@ -0,0 +1,736 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 41.800000000000004
9 h 26
10 type "rectangle"
11 fill "#FFFFFF"
12 fill2 "#FFFFFF"
13 outline "#000000"
14 ]
15 LabelGraphics
16 [
17 text "true"
18 outline "#000000"
19 fill "#FFFFFF"
20 fontSize 16
21 fontName "Monospace"
22 autoSizePolicy "node_width"
23 anchor "t"
24 borderDistance 0.0
25 ]
26 LabelGraphics
27 [
28 text "
29 "
30 fontSize 14
31 fontName "Consolas"
32 alignment "left"
33 anchor "tl"
34 borderDistance 6
35 ]
36 ]
37
38 node
39 [
40 id 1
41 graphics
42 [
43 w 50.6
44 h 26
45 type "rectangle"
46 fill "#FFFFFF"
47 fill2 "#FFFFFF"
48 outline "#000000"
49 ]
50 LabelGraphics
51 [
52 text "false"
53 outline "#000000"
54 fill "#FFFFFF"
55 fontSize 16
56 fontName "Monospace"
57 autoSizePolicy "node_width"
58 anchor "t"
59 borderDistance 0.0
60 ]
61 LabelGraphics
62 [
63 text "
64 "
65 fontSize 14
66 fontName "Consolas"
67 alignment "left"
68 anchor "tl"
69 borderDistance 6
70 ]
71 ]
72
73 node
74 [
75 id 2
76 graphics
77 [
78 w 138.60000000000002
79 h 40
80 type "rectangle"
81 fill "#FFFFFF"
82 fill2 "#FFFFFF"
83 outline "#000000"
84 ]
85 LabelGraphics
86 [
87 text "null"
88 outline "#000000"
89 fill "#FFFFFF"
90 fontSize 16
91 fontName "Monospace"
92 autoSizePolicy "node_width"
93 anchor "t"
94 borderDistance 0.0
95 ]
96 LabelGraphics
97 [
98 text "
99 Statechart class
100 "
101 fontSize 14
102 fontName "Consolas"
103 alignment "left"
104 anchor "tl"
105 borderDistance 6
106 ]
107 ]
108
109 node
110 [
111 id 3
112 graphics
113 [
114 w 100.10000000000001
115 h 40
116 type "rectangle"
117 fill "#FFFFFF"
118 fill2 "#FFFFFF"
119 outline "#000000"
120 ]
121 LabelGraphics
122 [
123 text "null"
124 outline "#000000"
125 fill "#FFFFFF"
126 fontSize 16
127 fontName "Monospace"
128 autoSizePolicy "node_width"
129 anchor "t"
130 borderDistance 0.0
131 ]
132 LabelGraphics
133 [
134 text "
135 State class
136 "
137 fontSize 14
138 fontName "Consolas"
139 alignment "left"
140 anchor "tl"
141 borderDistance 6
142 ]
143 ]
144
145 node
146 [
147 id 4
148 graphics
149 [
150 w 100.10000000000001
151 h 40
152 type "rectangle"
153 fill "#FFFFFF"
154 fill2 "#FFFFFF"
155 outline "#000000"
156 ]
157 LabelGraphics
158 [
159 text "null"
160 outline "#000000"
161 fill "#FFFFFF"
162 fontSize 16
163 fontName "Monospace"
164 autoSizePolicy "node_width"
165 anchor "t"
166 borderDistance 0.0
167 ]
168 LabelGraphics
169 [
170 text "
171 State class
172 "
173 fontSize 14
174 fontName "Consolas"
175 alignment "left"
176 anchor "tl"
177 borderDistance 6
178 ]
179 ]
180
181 node
182 [
183 id 5
184 graphics
185 [
186 w 100.10000000000001
187 h 40
188 type "rectangle"
189 fill "#FFFFFF"
190 fill2 "#FFFFFF"
191 outline "#000000"
192 ]
193 LabelGraphics
194 [
195 text "null"
196 outline "#000000"
197 fill "#FFFFFF"
198 fontSize 16
199 fontName "Monospace"
200 autoSizePolicy "node_width"
201 anchor "t"
202 borderDistance 0.0
203 ]
204 LabelGraphics
205 [
206 text "
207 State class
208 "
209 fontSize 14
210 fontName "Consolas"
211 alignment "left"
212 anchor "tl"
213 borderDistance 6
214 ]
215 ]
216
217 node
218 [
219 id 6
220 graphics
221 [
222 w 100.10000000000001
223 h 40
224 type "rectangle"
225 fill "#FFFFFF"
226 fill2 "#FFFFFF"
227 outline "#000000"
228 ]
229 LabelGraphics
230 [
231 text "null"
232 outline "#000000"
233 fill "#FFFFFF"
234 fontSize 16
235 fontName "Monospace"
236 autoSizePolicy "node_width"
237 anchor "t"
238 borderDistance 0.0
239 ]
240 LabelGraphics
241 [
242 text "
243 State class
244 "
245 fontSize 14
246 fontName "Consolas"
247 alignment "left"
248 anchor "tl"
249 borderDistance 6
250 ]
251 ]
252
253 node
254 [
255 id 7
256 graphics
257 [
258 w 100.10000000000001
259 h 40
260 type "rectangle"
261 fill "#FFFFFF"
262 fill2 "#FFFFFF"
263 outline "#000000"
264 ]
265 LabelGraphics
266 [
267 text "null"
268 outline "#000000"
269 fill "#FFFFFF"
270 fontSize 16
271 fontName "Monospace"
272 autoSizePolicy "node_width"
273 anchor "t"
274 borderDistance 0.0
275 ]
276 LabelGraphics
277 [
278 text "
279 State class
280 "
281 fontSize 14
282 fontName "Consolas"
283 alignment "left"
284 anchor "tl"
285 borderDistance 6
286 ]
287 ]
288
289 node
290 [
291 id 8
292 graphics
293 [
294 w 100.10000000000001
295 h 40
296 type "rectangle"
297 fill "#FFFFFF"
298 fill2 "#FFFFFF"
299 outline "#000000"
300 ]
301 LabelGraphics
302 [
303 text "null"
304 outline "#000000"
305 fill "#FFFFFF"
306 fontSize 16
307 fontName "Monospace"
308 autoSizePolicy "node_width"
309 anchor "t"
310 borderDistance 0.0
311 ]
312 LabelGraphics
313 [
314 text "
315 Entry class
316 "
317 fontSize 14
318 fontName "Consolas"
319 alignment "left"
320 anchor "tl"
321 borderDistance 6
322 ]
323 ]
324
325 node
326 [
327 id 9
328 graphics
329 [
330 w 112.2
331 h 26
332 type "rectangle"
333 fill "#FFFFFF"
334 fill2 "#FFFFFF"
335 outline "#000000"
336 ]
337 LabelGraphics
338 [
339 text "New Integers"
340 outline "#000000"
341 fill "#FFFFFF"
342 fontSize 16
343 fontName "Monospace"
344 autoSizePolicy "node_width"
345 anchor "t"
346 borderDistance 0.0
347 ]
348 LabelGraphics
349 [
350 text "
351 "
352 fontSize 14
353 fontName "Consolas"
354 alignment "left"
355 anchor "tl"
356 borderDistance 6
357 ]
358 ]
359
360 node
361 [
362 id 10
363 graphics
364 [
365 w 85.80000000000001
366 h 26
367 type "rectangle"
368 fill "#FFFFFF"
369 fill2 "#FFFFFF"
370 outline "#000000"
371 ]
372 LabelGraphics
373 [
374 text "New Reals"
375 outline "#000000"
376 fill "#FFFFFF"
377 fontSize 16
378 fontName "Monospace"
379 autoSizePolicy "node_width"
380 anchor "t"
381 borderDistance 0.0
382 ]
383 LabelGraphics
384 [
385 text "
386 "
387 fontSize 14
388 fontName "Consolas"
389 alignment "left"
390 anchor "tl"
391 borderDistance 6
392 ]
393 ]
394
395 node
396 [
397 id 11
398 graphics
399 [
400 w 103.4
401 h 26
402 type "rectangle"
403 fill "#FFFFFF"
404 fill2 "#FFFFFF"
405 outline "#000000"
406 ]
407 LabelGraphics
408 [
409 text "New Strings"
410 outline "#000000"
411 fill "#FFFFFF"
412 fontSize 16
413 fontName "Monospace"
414 autoSizePolicy "node_width"
415 anchor "t"
416 borderDistance 0.0
417 ]
418 LabelGraphics
419 [
420 text "
421 "
422 fontSize 14
423 fontName "Consolas"
424 alignment "left"
425 anchor "tl"
426 borderDistance 6
427 ]
428 ]
429
430 node
431 [
432 id 12
433 graphics
434 [
435 w 103.4
436 h 26
437 type "rectangle"
438 fill "#FFFFFF"
439 fill2 "#FFFFFF"
440 outline "#000000"
441 ]
442 LabelGraphics
443 [
444 text "New Objects"
445 outline "#000000"
446 fill "#FFFFFF"
447 fontSize 16
448 fontName "Monospace"
449 autoSizePolicy "node_width"
450 anchor "t"
451 borderDistance 0.0
452 ]
453 LabelGraphics
454 [
455 text "
456 "
457 fontSize 14
458 fontName "Consolas"
459 alignment "left"
460 anchor "tl"
461 borderDistance 6
462 ]
463 ]
464 edge
465 [
466 source 3
467 target 4
468 graphics
469 [
470 fill "#000000"
471 targetArrow "standard"
472 ]
473 LabelGraphics
474 [
475 text "next reference State"
476 fontSize 14
477 fontName "Consolas"
478 configuration "AutoFlippingLabel"
479 model "six_pos"
480 position "thead"
481 ]
482 ]
483 edge
484 [
485 source 4
486 target 3
487 graphics
488 [
489 fill "#000000"
490 targetArrow "standard"
491 ]
492 LabelGraphics
493 [
494 text "next reference State"
495 fontSize 14
496 fontName "Consolas"
497 configuration "AutoFlippingLabel"
498 model "six_pos"
499 position "thead"
500 ]
501 ]
502 edge
503 [
504 source 4
505 target 5
506 graphics
507 [
508 fill "#000000"
509 targetArrow "standard"
510 ]
511 LabelGraphics
512 [
513 text "next reference State"
514 fontSize 14
515 fontName "Consolas"
516 configuration "AutoFlippingLabel"
517 model "six_pos"
518 position "thead"
519 ]
520 ]
521 edge
522 [
523 source 4
524 target 6
525 graphics
526 [
527 fill "#000000"
528 targetArrow "standard"
529 ]
530 LabelGraphics
531 [
532 text "next reference State"
533 fontSize 14
534 fontName "Consolas"
535 configuration "AutoFlippingLabel"
536 model "six_pos"
537 position "thead"
538 ]
539 ]
540 edge
541 [
542 source 4
543 target 7
544 graphics
545 [
546 fill "#000000"
547 targetArrow "standard"
548 ]
549 LabelGraphics
550 [
551 text "next reference State"
552 fontSize 14
553 fontName "Consolas"
554 configuration "AutoFlippingLabel"
555 model "six_pos"
556 position "thead"
557 ]
558 ]
559 edge
560 [
561 source 5
562 target 4
563 graphics
564 [
565 fill "#000000"
566 targetArrow "standard"
567 ]
568 LabelGraphics
569 [
570 text "next reference State"
571 fontSize 14
572 fontName "Consolas"
573 configuration "AutoFlippingLabel"
574 model "six_pos"
575 position "thead"
576 ]
577 ]
578 edge
579 [
580 source 7
581 target 3
582 graphics
583 [
584 fill "#000000"
585 targetArrow "standard"
586 ]
587 LabelGraphics
588 [
589 text "next reference State"
590 fontSize 14
591 fontName "Consolas"
592 configuration "AutoFlippingLabel"
593 model "six_pos"
594 position "thead"
595 ]
596 ]
597 edge
598 [
599 source 8
600 target 3
601 graphics
602 [
603 fill "#000000"
604 targetArrow "standard"
605 ]
606 LabelGraphics
607 [
608 text "entry reference Entry"
609 fontSize 14
610 fontName "Consolas"
611 configuration "AutoFlippingLabel"
612 model "six_pos"
613 position "thead"
614 ]
615 ]
616 edge
617 [
618 source 2
619 target 3
620 graphics
621 [
622 fill "#000000"
623 width 3
624 targetArrow "standard"
625 ]
626 LabelGraphics
627 [
628 text "state reference Statechart"
629 fontSize 14
630 fontName "Consolas"
631 configuration "AutoFlippingLabel"
632 model "six_pos"
633 position "thead"
634 ]
635 ]
636 edge
637 [
638 source 2
639 target 4
640 graphics
641 [
642 fill "#000000"
643 width 3
644 targetArrow "standard"
645 ]
646 LabelGraphics
647 [
648 text "state reference Statechart"
649 fontSize 14
650 fontName "Consolas"
651 configuration "AutoFlippingLabel"
652 model "six_pos"
653 position "thead"
654 ]
655 ]
656 edge
657 [
658 source 2
659 target 5
660 graphics
661 [
662 fill "#000000"
663 width 3
664 targetArrow "standard"
665 ]
666 LabelGraphics
667 [
668 text "state reference Statechart"
669 fontSize 14
670 fontName "Consolas"
671 configuration "AutoFlippingLabel"
672 model "six_pos"
673 position "thead"
674 ]
675 ]
676 edge
677 [
678 source 2
679 target 6
680 graphics
681 [
682 fill "#000000"
683 width 3
684 targetArrow "standard"
685 ]
686 LabelGraphics
687 [
688 text "state reference Statechart"
689 fontSize 14
690 fontName "Consolas"
691 configuration "AutoFlippingLabel"
692 model "six_pos"
693 position "thead"
694 ]
695 ]
696 edge
697 [
698 source 2
699 target 7
700 graphics
701 [
702 fill "#000000"
703 width 3
704 targetArrow "standard"
705 ]
706 LabelGraphics
707 [
708 text "state reference Statechart"
709 fontSize 14
710 fontName "Consolas"
711 configuration "AutoFlippingLabel"
712 model "six_pos"
713 position "thead"
714 ]
715 ]
716 edge
717 [
718 source 2
719 target 8
720 graphics
721 [
722 fill "#000000"
723 width 3
724 targetArrow "standard"
725 ]
726 LabelGraphics
727 [
728 text "entry reference Statechart"
729 fontSize 14
730 fontName "Consolas"
731 configuration "AutoFlippingLabel"
732 model "six_pos"
733 position "thead"
734 ]
735 ]
736]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml
index 4dca04bb..08f6a86b 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml
@@ -14,4 +14,12 @@
14 genModel="resources/linkedList.genmodel"/> 14 genModel="resources/linkedList.genmodel"/>
15 </extension> 15 </extension>
16 16
17 <extension point="org.eclipse.emf.ecore.generated_package">
18 <!-- @generated simpleStatechart -->
19 <package
20 uri="simpleSC"
21 class="simpleStatechart.SimpleStatechartPackage"
22 genModel="resources/simpleStatechart.genmodel"/>
23 </extension>
24
17</plugin> 25</plugin>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/cycle.xmi b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/cycle.xmi
new file mode 100644
index 00000000..685a2b66
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/cycle.xmi
@@ -0,0 +1,21 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<LLMM:Element
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xmlns:LLMM="llmm"
7 xsi:schemaLocation="llmm linkedList.ecore">
8 <next>
9 <value/>
10 <next>
11 <value/>
12 <next>
13 <value/>
14 <next>
15 <value/>
16 <next/>
17 </next>
18 </next>
19 </next>
20 </next>
21</LLMM:Element>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCIrrealistic.xmi b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCIrrealistic.xmi
new file mode 100644
index 00000000..c34857c9
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCIrrealistic.xmi
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<simpleSC:Statechart
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xmlns:simpleSC="simpleSC"
7 xsi:schemaLocation="simpleSC simpleStatechart.ecore">
8 <state next="//@state.1"/>
9 <state next="//@state.2"/>
10 <state next="//@state.3"/>
11 <state next="//@state.4"/>
12 <state next="//@state.0"/>
13 <entry entry="//@state.0"/>
14</simpleSC:Statechart>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCRealistic.xmi b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCRealistic.xmi
new file mode 100644
index 00000000..131e4482
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleSCRealistic.xmi
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<simpleSC:Statechart
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xmlns:simpleSC="simpleSC"
7 xsi:schemaLocation="simpleSC simpleStatechart.ecore">
8 <state next="//@state.1"/>
9 <state next="//@state.0 //@state.2 //@state.3 //@state.4"/>
10 <state next="//@state.1"/>
11 <state/>
12 <state next="//@state.0"/>
13 <entry entry="//@state.0"/>
14</simpleSC:Statechart>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.aird b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.aird
new file mode 100644
index 00000000..3a8ce88a
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.aird
@@ -0,0 +1,231 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
3 <viewpoint:DAnalysis uid="_ZjRvYHrBEem197kvRbawTQ" selectedViews="_Zk1OkHrBEem197kvRbawTQ _Zk9xcHrBEem197kvRbawTQ _Zk_moHrBEem197kvRbawTQ _ZlD4EHrBEem197kvRbawTQ" version="14.1.0.201810161215">
4 <semanticResources>simpleStatechart.ecore</semanticResources>
5 <ownedViews xmi:type="viewpoint:DView" uid="_Zk1OkHrBEem197kvRbawTQ">
6 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
7 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_n89KsHrBEem197kvRbawTQ" name="simpleStatechart class diagram" repPath="#_n8118HrBEem197kvRbawTQ">
8 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
9 <target xmi:type="ecore:EPackage" href="simpleStatechart.ecore#/"/>
10 </ownedRepresentationDescriptors>
11 </ownedViews>
12 <ownedViews xmi:type="viewpoint:DView" uid="_Zk9xcHrBEem197kvRbawTQ">
13 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
14 </ownedViews>
15 <ownedViews xmi:type="viewpoint:DView" uid="_Zk_moHrBEem197kvRbawTQ">
16 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
17 </ownedViews>
18 <ownedViews xmi:type="viewpoint:DView" uid="_ZlD4EHrBEem197kvRbawTQ">
19 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
20 </ownedViews>
21 </viewpoint:DAnalysis>
22 <diagram:DSemanticDiagram uid="_n8118HrBEem197kvRbawTQ" name="simpleStatechart class diagram">
23 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_n88joHrBEem197kvRbawTQ" source="DANNOTATION_CUSTOMIZATION_KEY">
24 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_n88joXrBEem197kvRbawTQ">
25 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_xDw-MHrBEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan">
26 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
27 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_xDw-MXrBEem197kvRbawTQ" showIcon="false" labelExpression="service:render">
28 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
29 </centerLabelStyleDescription>
30 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_xDw-MnrBEem197kvRbawTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
31 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
32 </endLabelStyleDescription>
33 </computedStyleDescriptions>
34 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_22LoxnrBEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan">
35 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
36 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_22Lox3rBEem197kvRbawTQ" showIcon="false" labelExpression="service:render">
37 <labelFormat>bold</labelFormat>
38 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
39 </centerLabelStyleDescription>
40 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_22LoyHrBEem197kvRbawTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
41 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
42 </endLabelStyleDescription>
43 </computedStyleDescriptions>
44 </data>
45 </ownedAnnotationEntries>
46 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_n89xwHrBEem197kvRbawTQ" source="GMF_DIAGRAMS">
47 <data xmi:type="notation:Diagram" xmi:id="_n89xwXrBEem197kvRbawTQ" type="Sirius" element="_n8118HrBEem197kvRbawTQ" measurementUnit="Pixel">
48 <children xmi:type="notation:Node" xmi:id="_tT-SsHrBEem197kvRbawTQ" type="2003" element="_tT4MEHrBEem197kvRbawTQ">
49 <children xmi:type="notation:Node" xmi:id="_tT-Ss3rBEem197kvRbawTQ" type="5007"/>
50 <children xmi:type="notation:Node" xmi:id="_tT-5wHrBEem197kvRbawTQ" type="7004">
51 <styles xmi:type="notation:SortingStyle" xmi:id="_tT-5wXrBEem197kvRbawTQ"/>
52 <styles xmi:type="notation:FilteringStyle" xmi:id="_tT-5wnrBEem197kvRbawTQ"/>
53 </children>
54 <styles xmi:type="notation:ShapeStyle" xmi:id="_tT-SsXrBEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
55 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tT-SsnrBEem197kvRbawTQ" x="216" y="336"/>
56 </children>
57 <children xmi:type="notation:Node" xmi:id="_tT-5w3rBEem197kvRbawTQ" type="2003" element="_tT6BQHrBEem197kvRbawTQ">
58 <children xmi:type="notation:Node" xmi:id="_tT-5xnrBEem197kvRbawTQ" type="5007"/>
59 <children xmi:type="notation:Node" xmi:id="_tT_g0HrBEem197kvRbawTQ" type="7004">
60 <styles xmi:type="notation:SortingStyle" xmi:id="_tT_g0XrBEem197kvRbawTQ"/>
61 <styles xmi:type="notation:FilteringStyle" xmi:id="_tT_g0nrBEem197kvRbawTQ"/>
62 </children>
63 <styles xmi:type="notation:ShapeStyle" xmi:id="_tT-5xHrBEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
64 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tT-5xXrBEem197kvRbawTQ" x="708" y="324"/>
65 </children>
66 <children xmi:type="notation:Node" xmi:id="_tT_g03rBEem197kvRbawTQ" type="2003" element="_tT6BQ3rBEem197kvRbawTQ">
67 <children xmi:type="notation:Node" xmi:id="_tUAH4HrBEem197kvRbawTQ" type="5007"/>
68 <children xmi:type="notation:Node" xmi:id="_tUAH4XrBEem197kvRbawTQ" type="7004">
69 <styles xmi:type="notation:SortingStyle" xmi:id="_tUAH4nrBEem197kvRbawTQ"/>
70 <styles xmi:type="notation:FilteringStyle" xmi:id="_tUAH43rBEem197kvRbawTQ"/>
71 </children>
72 <styles xmi:type="notation:ShapeStyle" xmi:id="_tT_g1HrBEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
73 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tT_g1XrBEem197kvRbawTQ" x="360" y="48"/>
74 </children>
75 <styles xmi:type="notation:DiagramStyle" xmi:id="_n89xwnrBEem197kvRbawTQ"/>
76 <edges xmi:type="notation:Edge" xmi:id="_wmDugHrBEem197kvRbawTQ" type="4001" element="_wl_dEHrBEem197kvRbawTQ" source="_tT_g03rBEem197kvRbawTQ" target="_tT-SsHrBEem197kvRbawTQ">
77 <children xmi:type="notation:Node" xmi:id="_wmDuhHrBEem197kvRbawTQ" type="6001">
78 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmEVkHrBEem197kvRbawTQ" y="-10"/>
79 </children>
80 <children xmi:type="notation:Node" xmi:id="_wmEVkXrBEem197kvRbawTQ" type="6002">
81 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmEVknrBEem197kvRbawTQ" y="10"/>
82 </children>
83 <children xmi:type="notation:Node" xmi:id="_wmEVk3rBEem197kvRbawTQ" type="6003">
84 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmEVlHrBEem197kvRbawTQ" y="10"/>
85 </children>
86 <styles xmi:type="notation:ConnectorStyle" xmi:id="_wmDugXrBEem197kvRbawTQ" routing="Rectilinear"/>
87 <styles xmi:type="notation:FontStyle" xmi:id="_wmDugnrBEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
88 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wmDug3rBEem197kvRbawTQ" points="[0, 0, 131, -190]$[0, 95, 131, -95]$[-131, 95, 0, -95]$[-131, 190, 0, 0]"/>
89 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wmEVlXrBEem197kvRbawTQ" id="(0.5,1.0)"/>
90 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wmEVlnrBEem197kvRbawTQ" id="(0.6101694915254238,0.0)"/>
91 </edges>
92 <edges xmi:type="notation:Edge" xmi:id="_0D8xsHrBEem197kvRbawTQ" type="4001" element="_0D5HVnrBEem197kvRbawTQ" source="_tT_g03rBEem197kvRbawTQ" target="_tT-5w3rBEem197kvRbawTQ">
93 <children xmi:type="notation:Node" xmi:id="_0D8xtHrBEem197kvRbawTQ" type="6001">
94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0D8xtXrBEem197kvRbawTQ" y="-10"/>
95 </children>
96 <children xmi:type="notation:Node" xmi:id="_0D8xtnrBEem197kvRbawTQ" type="6002">
97 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0D8xt3rBEem197kvRbawTQ" y="10"/>
98 </children>
99 <children xmi:type="notation:Node" xmi:id="_0D8xuHrBEem197kvRbawTQ" type="6003">
100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0D8xuXrBEem197kvRbawTQ" y="10"/>
101 </children>
102 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0D8xsXrBEem197kvRbawTQ" routing="Rectilinear"/>
103 <styles xmi:type="notation:FontStyle" xmi:id="_0D8xsnrBEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
104 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0D8xs3rBEem197kvRbawTQ" points="[0, 0, -302, -204]$[302, 0, 0, -204]$[302, 204, 0, 0]"/>
105 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0D8xunrBEem197kvRbawTQ" id="(1.0,0.7346938775510204)"/>
106 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0D8xu3rBEem197kvRbawTQ" id="(0.6101694915254238,0.0)"/>
107 </edges>
108 <edges xmi:type="notation:Edge" xmi:id="_3rYLcnrBEem197kvRbawTQ" type="4001" element="_3rVIEHrBEem197kvRbawTQ" source="_tT-SsHrBEem197kvRbawTQ" target="_tT-SsHrBEem197kvRbawTQ">
109 <children xmi:type="notation:Node" xmi:id="_3rZZgHrBEem197kvRbawTQ" type="6001">
110 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rZZgXrBEem197kvRbawTQ" y="-10"/>
111 </children>
112 <children xmi:type="notation:Node" xmi:id="_3rZZgnrBEem197kvRbawTQ" type="6002">
113 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rZZg3rBEem197kvRbawTQ" y="10"/>
114 </children>
115 <children xmi:type="notation:Node" xmi:id="_3rZZhHrBEem197kvRbawTQ" type="6003">
116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3rZZhXrBEem197kvRbawTQ" y="10"/>
117 </children>
118 <styles xmi:type="notation:ConnectorStyle" xmi:id="_3rYLc3rBEem197kvRbawTQ" routing="Rectilinear"/>
119 <styles xmi:type="notation:FontStyle" xmi:id="_3rYLdHrBEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
120 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3rYLdXrBEem197kvRbawTQ" points="[0, 0, -11, 0]$[0, 0, -11, 0]"/>
121 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3rZZhnrBEem197kvRbawTQ" id="(0.4067796610169492,0.0)"/>
122 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3rZZh3rBEem197kvRbawTQ" id="(0.5,0.0)"/>
123 </edges>
124 <edges xmi:type="notation:Edge" xmi:id="_8y9JMHrBEem197kvRbawTQ" type="4001" element="_8y5e3HrBEem197kvRbawTQ" source="_tT-5w3rBEem197kvRbawTQ" target="_tT-SsHrBEem197kvRbawTQ">
125 <children xmi:type="notation:Node" xmi:id="_8y9JNHrBEem197kvRbawTQ" type="6001">
126 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8y9JNXrBEem197kvRbawTQ" y="-10"/>
127 </children>
128 <children xmi:type="notation:Node" xmi:id="_8y9JNnrBEem197kvRbawTQ" type="6002">
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8y9JN3rBEem197kvRbawTQ" y="10"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_8y9JOHrBEem197kvRbawTQ" type="6003">
132 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8y9wQHrBEem197kvRbawTQ" y="10"/>
133 </children>
134 <styles xmi:type="notation:ConnectorStyle" xmi:id="_8y9JMXrBEem197kvRbawTQ" routing="Rectilinear"/>
135 <styles xmi:type="notation:FontStyle" xmi:id="_8y9JMnrBEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
136 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8y9JM3rBEem197kvRbawTQ" points="[0, 0, 374, -11]$[-187, 0, 187, -11]$[-187, 11, 187, 0]$[-374, 11, 0, 0]"/>
137 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8y9wQXrBEem197kvRbawTQ" id="(0.0,0.5)"/>
138 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8y9wQnrBEem197kvRbawTQ" id="(1.0,0.4897959183673469)"/>
139 </edges>
140 </data>
141 </ownedAnnotationEntries>
142 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tT4MEHrBEem197kvRbawTQ" name="State" tooltipText="" outgoingEdges="_3rVIEHrBEem197kvRbawTQ" incomingEdges="_wl_dEHrBEem197kvRbawTQ _3rVIEHrBEem197kvRbawTQ _8y5e3HrBEem197kvRbawTQ" width="12" height="10">
143 <target xmi:type="ecore:EClass" href="simpleStatechart.ecore#//State"/>
144 <semanticElements xmi:type="ecore:EClass" href="simpleStatechart.ecore#//State"/>
145 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
146 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
147 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
148 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_tT5aMHrBEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
149 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
150 </ownedStyle>
151 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
152 </ownedDiagramElements>
153 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tT6BQHrBEem197kvRbawTQ" name="Entry" tooltipText="" outgoingEdges="_8y5e3HrBEem197kvRbawTQ" incomingEdges="_0D5HVnrBEem197kvRbawTQ" width="12" height="10">
154 <target xmi:type="ecore:EClass" href="simpleStatechart.ecore#//Entry"/>
155 <semanticElements xmi:type="ecore:EClass" href="simpleStatechart.ecore#//Entry"/>
156 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
157 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
158 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
159 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_tT6BQXrBEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
160 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
161 </ownedStyle>
162 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
163 </ownedDiagramElements>
164 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_tT6BQ3rBEem197kvRbawTQ" name="Statechart" tooltipText="" outgoingEdges="_wl_dEHrBEem197kvRbawTQ _0D5HVnrBEem197kvRbawTQ" width="12" height="10">
165 <target xmi:type="ecore:EClass" href="simpleStatechart.ecore#//Statechart"/>
166 <semanticElements xmi:type="ecore:EClass" href="simpleStatechart.ecore#//Statechart"/>
167 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
168 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
169 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
170 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_tT6oUHrBEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
171 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
172 </ownedStyle>
173 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
174 </ownedDiagramElements>
175 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_wl_dEHrBEem197kvRbawTQ" name="[0..*] state" sourceNode="_tT6BQ3rBEem197kvRbawTQ" targetNode="_tT4MEHrBEem197kvRbawTQ">
176 <target xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Statechart/state"/>
177 <semanticElements xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Statechart/state"/>
178 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_xDw-M3rBEem197kvRbawTQ" description="_xDw-MHrBEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
179 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_xDxlQXrBEem197kvRbawTQ" showIcon="false"/>
180 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_xDxlQHrBEem197kvRbawTQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
181 </ownedStyle>
182 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
183 </ownedDiagramElements>
184 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_0D5HVnrBEem197kvRbawTQ" name="[1..1] entry" sourceNode="_tT6BQ3rBEem197kvRbawTQ" targetNode="_tT6BQHrBEem197kvRbawTQ">
185 <target xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Statechart/entry"/>
186 <semanticElements xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Statechart/entry"/>
187 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_22LoyXrBEem197kvRbawTQ" description="_22LoxnrBEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
188 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_22Loy3rBEem197kvRbawTQ" showIcon="false">
189 <labelFormat>bold</labelFormat>
190 </centerLabelStyle>
191 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_22LoynrBEem197kvRbawTQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
192 </ownedStyle>
193 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
194 </ownedDiagramElements>
195 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_3rVIEHrBEem197kvRbawTQ" name="[0..*] next" sourceNode="_tT4MEHrBEem197kvRbawTQ" targetNode="_tT4MEHrBEem197kvRbawTQ">
196 <target xmi:type="ecore:EReference" href="simpleStatechart.ecore#//State/next"/>
197 <semanticElements xmi:type="ecore:EReference" href="simpleStatechart.ecore#//State/next"/>
198 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_3rVIEXrBEem197kvRbawTQ" routingStyle="manhattan" strokeColor="0,0,0">
199 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
200 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_3rVIE3rBEem197kvRbawTQ" showIcon="false">
201 <customFeatures>labelSize</customFeatures>
202 </centerLabelStyle>
203 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_3rVIEnrBEem197kvRbawTQ" showIcon="false" labelColor="39,76,114">
204 <customFeatures>labelSize</customFeatures>
205 </endLabelStyle>
206 </ownedStyle>
207 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
208 </ownedDiagramElements>
209 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8y5e3HrBEem197kvRbawTQ" name="[0..1] entry" sourceNode="_tT6BQHrBEem197kvRbawTQ" targetNode="_tT4MEHrBEem197kvRbawTQ">
210 <target xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Entry/entry"/>
211 <semanticElements xmi:type="ecore:EReference" href="simpleStatechart.ecore#//Entry/entry"/>
212 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_8y5e3XrBEem197kvRbawTQ" routingStyle="manhattan" strokeColor="0,0,0">
213 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
214 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_8y5e33rBEem197kvRbawTQ" showIcon="false">
215 <customFeatures>labelSize</customFeatures>
216 </centerLabelStyle>
217 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_8y5e3nrBEem197kvRbawTQ" showIcon="false" labelColor="39,76,114">
218 <customFeatures>labelSize</customFeatures>
219 </endLabelStyle>
220 </ownedStyle>
221 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
222 </ownedDiagramElements>
223 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
224 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_n84SMHrBEem197kvRbawTQ"/>
225 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
226 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
227 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
228 <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
229 <target xmi:type="ecore:EPackage" href="simpleStatechart.ecore#/"/>
230 </diagram:DSemanticDiagram>
231</xmi:XMI>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.ecore b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.ecore
new file mode 100644
index 00000000..a5df7904
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.ecore
@@ -0,0 +1,16 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleStatechart" nsURI="simpleSC" nsPrefix="simpleSC">
4 <eClassifiers xsi:type="ecore:EClass" name="State">
5 <eStructuralFeatures xsi:type="ecore:EReference" name="next" upperBound="-1" eType="#//State"/>
6 </eClassifiers>
7 <eClassifiers xsi:type="ecore:EClass" name="Entry">
8 <eStructuralFeatures xsi:type="ecore:EReference" name="entry" eType="#//State"/>
9 </eClassifiers>
10 <eClassifiers xsi:type="ecore:EClass" name="Statechart">
11 <eStructuralFeatures xsi:type="ecore:EReference" name="state" upperBound="-1"
12 eType="#//State" containment="true"/>
13 <eStructuralFeatures xsi:type="ecore:EReference" name="entry" lowerBound="1" eType="#//Entry"
14 containment="true"/>
15 </eClassifiers>
16</ecore:EPackage>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.genmodel b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.genmodel
new file mode 100644
index 00000000..fc751c8e
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleStatechart.genmodel
@@ -0,0 +1,20 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/ca.mcgill.ecse.dslreasoner.realistic.metrics/src"
4 modelPluginID="ca.mcgill.ecse.dslreasoner.realistic.metrics" modelName="SimpleStatechart"
5 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore"
6 complianceLevel="8.0" copyrightFields="false" operationReflection="true" importOrganizing="true">
7 <foreignModel>simpleStatechart.ecore</foreignModel>
8 <genPackages prefix="SimpleStatechart" disposableProviderFactory="true" ecorePackage="simpleStatechart.ecore#/">
9 <genClasses ecoreClass="simpleStatechart.ecore#//State">
10 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleStatechart.ecore#//State/next"/>
11 </genClasses>
12 <genClasses ecoreClass="simpleStatechart.ecore#//Entry">
13 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference simpleStatechart.ecore#//Entry/entry"/>
14 </genClasses>
15 <genClasses ecoreClass="simpleStatechart.ecore#//Statechart">
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleStatechart.ecore#//Statechart/state"/>
17 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference simpleStatechart.ecore#//Statechart/entry"/>
18 </genClasses>
19 </genPackages>
20</genmodel:GenModel>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend
index 8dd16090..44aad755 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend
@@ -18,6 +18,7 @@ import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine
18import java.io.PrintWriter 18import java.io.PrintWriter
19import linkedList.LinkedListPackage 19import linkedList.LinkedListPackage
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml 20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml
21import simpleStatechart.SimpleStatechartPackage
21 22
22class CSERposterSample { 23class CSERposterSample {
23 static val partialInterpretation2Logic = new InstanceModel2PartialInterpretation 24 static val partialInterpretation2Logic = new InstanceModel2PartialInterpretation
@@ -26,15 +27,18 @@ class CSERposterSample {
26 static val partialVisualizer = new PartialInterpretation2Gml 27 static val partialVisualizer = new PartialInterpretation2Gml
27 static val neighbourhoodVisualizer = new Neighbourhood2Gml 28 static val neighbourhoodVisualizer = new Neighbourhood2Gml
28 static val depth = 1 29 static val depth = 1
30 static val REALISTIC = "simpleSCRealistic"
31 static val IRREALISTIC = "simpleSCIrrealistic"
29 32
30 def static void main(String[] args) { 33 def static void main(String[] args) {
31 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("*", new XMIResourceFactoryImpl) 34 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("*", new XMIResourceFactoryImpl)
32 YakindummPackage.eINSTANCE.eClass 35 YakindummPackage.eINSTANCE.eClass
33 LinkedListPackage.eINSTANCE.eClass 36 LinkedListPackage.eINSTANCE.eClass
37 SimpleStatechartPackage.eINSTANCE.eClass
34 ReteEngine.getClass 38 ReteEngine.getClass
35 39
36 val outputs = "outputs" 40 val outputs = "outputs"
37 val instModName = "realisticModel" 41 val instModName = REALISTIC
38 val workspace = new FileSystemWorkspace('''resources''', "") 42 val workspace = new FileSystemWorkspace('''resources''', "")
39 val model = workspace.readModel(EObject, instModName+".xmi") 43 val model = workspace.readModel(EObject, instModName+".xmi")
40 44
@@ -60,7 +64,7 @@ class CSERposterSample {
60 64
61 val hood = neighbourhoodComputer.createRepresentation(partialModelOutput, depth, Integer.MAX_VALUE, Integer.MAX_VALUE) 65 val hood = neighbourhoodComputer.createRepresentation(partialModelOutput, depth, Integer.MAX_VALUE, Integer.MAX_VALUE)
62 66
63 val w2 = new PrintWriter(outputs+"/"+instModName+"NEIGHBOURHOOD.gml") 67 val w2 = new PrintWriter(outputs+"/"+instModName+depth+"NEIGHBOURHOOD.gml")
64 68
65 w2.print(neighbourhoodVisualizer.transform(hood, partialModelOutput)) 69 w2.print(neighbourhoodVisualizer.transform(hood, partialModelOutput))
66 70
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Entry.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Entry.java
new file mode 100644
index 00000000..10203691
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Entry.java
@@ -0,0 +1,50 @@
1/**
2 */
3package simpleStatechart;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Entry</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link simpleStatechart.Entry#getEntry <em>Entry</em>}</li>
17 * </ul>
18 *
19 * @see simpleStatechart.SimpleStatechartPackage#getEntry()
20 * @model
21 * @generated
22 */
23public interface Entry extends EObject {
24 /**
25 * Returns the value of the '<em><b>Entry</b></em>' reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>Entry</em>' reference isn't clear,
29 * there really should be more of a description here...
30 * </p>
31 * <!-- end-user-doc -->
32 * @return the value of the '<em>Entry</em>' reference.
33 * @see #setEntry(State)
34 * @see simpleStatechart.SimpleStatechartPackage#getEntry_Entry()
35 * @model
36 * @generated
37 */
38 State getEntry();
39
40 /**
41 * Sets the value of the '{@link simpleStatechart.Entry#getEntry <em>Entry</em>}' reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>Entry</em>' reference.
45 * @see #getEntry()
46 * @generated
47 */
48 void setEntry(State value);
49
50} // Entry
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartFactory.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartFactory.java
new file mode 100644
index 00000000..a185daa0
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartFactory.java
@@ -0,0 +1,60 @@
1/**
2 */
3package simpleStatechart;
4
5import org.eclipse.emf.ecore.EFactory;
6
7/**
8 * <!-- begin-user-doc -->
9 * The <b>Factory</b> for the model.
10 * It provides a create method for each non-abstract class of the model.
11 * <!-- end-user-doc -->
12 * @see simpleStatechart.SimpleStatechartPackage
13 * @generated
14 */
15public interface SimpleStatechartFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 SimpleStatechartFactory eINSTANCE = simpleStatechart.impl.SimpleStatechartFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>State</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>State</em>'.
29 * @generated
30 */
31 State createState();
32
33 /**
34 * Returns a new object of class '<em>Entry</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Entry</em>'.
38 * @generated
39 */
40 Entry createEntry();
41
42 /**
43 * Returns a new object of class '<em>Statechart</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Statechart</em>'.
47 * @generated
48 */
49 Statechart createStatechart();
50
51 /**
52 * Returns the package supported by this factory.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return the package supported by this factory.
56 * @generated
57 */
58 SimpleStatechartPackage getSimpleStatechartPackage();
59
60} //SimpleStatechartFactory
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartPackage.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartPackage.java
new file mode 100644
index 00000000..0d5a1042
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/SimpleStatechartPackage.java
@@ -0,0 +1,340 @@
1/**
2 */
3package simpleStatechart;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see simpleStatechart.SimpleStatechartFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface SimpleStatechartPackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "simpleStatechart";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "simpleSC";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "simpleSC";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 SimpleStatechartPackage eINSTANCE = simpleStatechart.impl.SimpleStatechartPackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link simpleStatechart.impl.StateImpl <em>State</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see simpleStatechart.impl.StateImpl
63 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getState()
64 * @generated
65 */
66 int STATE = 0;
67
68 /**
69 * The feature id for the '<em><b>Next</b></em>' reference list.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int STATE__NEXT = 0;
76
77 /**
78 * The number of structural features of the '<em>State</em>' class.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int STATE_FEATURE_COUNT = 1;
85
86 /**
87 * The number of operations of the '<em>State</em>' class.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int STATE_OPERATION_COUNT = 0;
94
95 /**
96 * The meta object id for the '{@link simpleStatechart.impl.EntryImpl <em>Entry</em>}' class.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see simpleStatechart.impl.EntryImpl
100 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getEntry()
101 * @generated
102 */
103 int ENTRY = 1;
104
105 /**
106 * The feature id for the '<em><b>Entry</b></em>' reference.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 * @ordered
111 */
112 int ENTRY__ENTRY = 0;
113
114 /**
115 * The number of structural features of the '<em>Entry</em>' class.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int ENTRY_FEATURE_COUNT = 1;
122
123 /**
124 * The number of operations of the '<em>Entry</em>' class.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int ENTRY_OPERATION_COUNT = 0;
131
132 /**
133 * The meta object id for the '{@link simpleStatechart.impl.StatechartImpl <em>Statechart</em>}' class.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @see simpleStatechart.impl.StatechartImpl
137 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getStatechart()
138 * @generated
139 */
140 int STATECHART = 2;
141
142 /**
143 * The feature id for the '<em><b>State</b></em>' containment reference list.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 * @ordered
148 */
149 int STATECHART__STATE = 0;
150
151 /**
152 * The feature id for the '<em><b>Entry</b></em>' containment reference.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 * @ordered
157 */
158 int STATECHART__ENTRY = 1;
159
160 /**
161 * The number of structural features of the '<em>Statechart</em>' class.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int STATECHART_FEATURE_COUNT = 2;
168
169 /**
170 * The number of operations of the '<em>Statechart</em>' class.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 * @ordered
175 */
176 int STATECHART_OPERATION_COUNT = 0;
177
178
179 /**
180 * Returns the meta object for class '{@link simpleStatechart.State <em>State</em>}'.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @return the meta object for class '<em>State</em>'.
184 * @see simpleStatechart.State
185 * @generated
186 */
187 EClass getState();
188
189 /**
190 * Returns the meta object for the reference list '{@link simpleStatechart.State#getNext <em>Next</em>}'.
191 * <!-- begin-user-doc -->
192 * <!-- end-user-doc -->
193 * @return the meta object for the reference list '<em>Next</em>'.
194 * @see simpleStatechart.State#getNext()
195 * @see #getState()
196 * @generated
197 */
198 EReference getState_Next();
199
200 /**
201 * Returns the meta object for class '{@link simpleStatechart.Entry <em>Entry</em>}'.
202 * <!-- begin-user-doc -->
203 * <!-- end-user-doc -->
204 * @return the meta object for class '<em>Entry</em>'.
205 * @see simpleStatechart.Entry
206 * @generated
207 */
208 EClass getEntry();
209
210 /**
211 * Returns the meta object for the reference '{@link simpleStatechart.Entry#getEntry <em>Entry</em>}'.
212 * <!-- begin-user-doc -->
213 * <!-- end-user-doc -->
214 * @return the meta object for the reference '<em>Entry</em>'.
215 * @see simpleStatechart.Entry#getEntry()
216 * @see #getEntry()
217 * @generated
218 */
219 EReference getEntry_Entry();
220
221 /**
222 * Returns the meta object for class '{@link simpleStatechart.Statechart <em>Statechart</em>}'.
223 * <!-- begin-user-doc -->
224 * <!-- end-user-doc -->
225 * @return the meta object for class '<em>Statechart</em>'.
226 * @see simpleStatechart.Statechart
227 * @generated
228 */
229 EClass getStatechart();
230
231 /**
232 * Returns the meta object for the containment reference list '{@link simpleStatechart.Statechart#getState <em>State</em>}'.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @return the meta object for the containment reference list '<em>State</em>'.
236 * @see simpleStatechart.Statechart#getState()
237 * @see #getStatechart()
238 * @generated
239 */
240 EReference getStatechart_State();
241
242 /**
243 * Returns the meta object for the containment reference '{@link simpleStatechart.Statechart#getEntry <em>Entry</em>}'.
244 * <!-- begin-user-doc -->
245 * <!-- end-user-doc -->
246 * @return the meta object for the containment reference '<em>Entry</em>'.
247 * @see simpleStatechart.Statechart#getEntry()
248 * @see #getStatechart()
249 * @generated
250 */
251 EReference getStatechart_Entry();
252
253 /**
254 * Returns the factory that creates the instances of the model.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @return the factory that creates the instances of the model.
258 * @generated
259 */
260 SimpleStatechartFactory getSimpleStatechartFactory();
261
262 /**
263 * <!-- begin-user-doc -->
264 * Defines literals for the meta objects that represent
265 * <ul>
266 * <li>each class,</li>
267 * <li>each feature of each class,</li>
268 * <li>each operation of each class,</li>
269 * <li>each enum,</li>
270 * <li>and each data type</li>
271 * </ul>
272 * <!-- end-user-doc -->
273 * @generated
274 */
275 interface Literals {
276 /**
277 * The meta object literal for the '{@link simpleStatechart.impl.StateImpl <em>State</em>}' class.
278 * <!-- begin-user-doc -->
279 * <!-- end-user-doc -->
280 * @see simpleStatechart.impl.StateImpl
281 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getState()
282 * @generated
283 */
284 EClass STATE = eINSTANCE.getState();
285
286 /**
287 * The meta object literal for the '<em><b>Next</b></em>' reference list feature.
288 * <!-- begin-user-doc -->
289 * <!-- end-user-doc -->
290 * @generated
291 */
292 EReference STATE__NEXT = eINSTANCE.getState_Next();
293
294 /**
295 * The meta object literal for the '{@link simpleStatechart.impl.EntryImpl <em>Entry</em>}' class.
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @see simpleStatechart.impl.EntryImpl
299 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getEntry()
300 * @generated
301 */
302 EClass ENTRY = eINSTANCE.getEntry();
303
304 /**
305 * The meta object literal for the '<em><b>Entry</b></em>' reference feature.
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 EReference ENTRY__ENTRY = eINSTANCE.getEntry_Entry();
311
312 /**
313 * The meta object literal for the '{@link simpleStatechart.impl.StatechartImpl <em>Statechart</em>}' class.
314 * <!-- begin-user-doc -->
315 * <!-- end-user-doc -->
316 * @see simpleStatechart.impl.StatechartImpl
317 * @see simpleStatechart.impl.SimpleStatechartPackageImpl#getStatechart()
318 * @generated
319 */
320 EClass STATECHART = eINSTANCE.getStatechart();
321
322 /**
323 * The meta object literal for the '<em><b>State</b></em>' containment reference list feature.
324 * <!-- begin-user-doc -->
325 * <!-- end-user-doc -->
326 * @generated
327 */
328 EReference STATECHART__STATE = eINSTANCE.getStatechart_State();
329
330 /**
331 * The meta object literal for the '<em><b>Entry</b></em>' containment reference feature.
332 * <!-- begin-user-doc -->
333 * <!-- end-user-doc -->
334 * @generated
335 */
336 EReference STATECHART__ENTRY = eINSTANCE.getStatechart_Entry();
337
338 }
339
340} //SimpleStatechartPackage
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/State.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/State.java
new file mode 100644
index 00000000..9f65b62b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/State.java
@@ -0,0 +1,42 @@
1/**
2 */
3package simpleStatechart;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>State</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link simpleStatechart.State#getNext <em>Next</em>}</li>
19 * </ul>
20 *
21 * @see simpleStatechart.SimpleStatechartPackage#getState()
22 * @model
23 * @generated
24 */
25public interface State extends EObject {
26 /**
27 * Returns the value of the '<em><b>Next</b></em>' reference list.
28 * The list contents are of type {@link simpleStatechart.State}.
29 * <!-- begin-user-doc -->
30 * <p>
31 * If the meaning of the '<em>Next</em>' reference list isn't clear,
32 * there really should be more of a description here...
33 * </p>
34 * <!-- end-user-doc -->
35 * @return the value of the '<em>Next</em>' reference list.
36 * @see simpleStatechart.SimpleStatechartPackage#getState_Next()
37 * @model
38 * @generated
39 */
40 EList<State> getNext();
41
42} // State
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Statechart.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Statechart.java
new file mode 100644
index 00000000..10c6dfc1
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/Statechart.java
@@ -0,0 +1,69 @@
1/**
2 */
3package simpleStatechart;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Statechart</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link simpleStatechart.Statechart#getState <em>State</em>}</li>
19 * <li>{@link simpleStatechart.Statechart#getEntry <em>Entry</em>}</li>
20 * </ul>
21 *
22 * @see simpleStatechart.SimpleStatechartPackage#getStatechart()
23 * @model
24 * @generated
25 */
26public interface Statechart extends EObject {
27 /**
28 * Returns the value of the '<em><b>State</b></em>' containment reference list.
29 * The list contents are of type {@link simpleStatechart.State}.
30 * <!-- begin-user-doc -->
31 * <p>
32 * If the meaning of the '<em>State</em>' containment reference list isn't clear,
33 * there really should be more of a description here...
34 * </p>
35 * <!-- end-user-doc -->
36 * @return the value of the '<em>State</em>' containment reference list.
37 * @see simpleStatechart.SimpleStatechartPackage#getStatechart_State()
38 * @model containment="true"
39 * @generated
40 */
41 EList<State> getState();
42
43 /**
44 * Returns the value of the '<em><b>Entry</b></em>' containment reference.
45 * <!-- begin-user-doc -->
46 * <p>
47 * If the meaning of the '<em>Entry</em>' containment reference isn't clear,
48 * there really should be more of a description here...
49 * </p>
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Entry</em>' containment reference.
52 * @see #setEntry(Entry)
53 * @see simpleStatechart.SimpleStatechartPackage#getStatechart_Entry()
54 * @model containment="true" required="true"
55 * @generated
56 */
57 Entry getEntry();
58
59 /**
60 * Sets the value of the '{@link simpleStatechart.Statechart#getEntry <em>Entry</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Entry</em>' containment reference.
64 * @see #getEntry()
65 * @generated
66 */
67 void setEntry(Entry value);
68
69} // Statechart
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/EntryImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/EntryImpl.java
new file mode 100644
index 00000000..0e25ace3
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/EntryImpl.java
@@ -0,0 +1,157 @@
1/**
2 */
3package simpleStatechart.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import simpleStatechart.Entry;
14import simpleStatechart.SimpleStatechartPackage;
15import simpleStatechart.State;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Entry</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link simpleStatechart.impl.EntryImpl#getEntry <em>Entry</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class EntryImpl extends MinimalEObjectImpl.Container implements Entry {
31 /**
32 * The cached value of the '{@link #getEntry() <em>Entry</em>}' reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getEntry()
36 * @generated
37 * @ordered
38 */
39 protected State entry;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected EntryImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SimpleStatechartPackage.Literals.ENTRY;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public State getEntry() {
66 if (entry != null && entry.eIsProxy()) {
67 InternalEObject oldEntry = (InternalEObject)entry;
68 entry = (State)eResolveProxy(oldEntry);
69 if (entry != oldEntry) {
70 if (eNotificationRequired())
71 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimpleStatechartPackage.ENTRY__ENTRY, oldEntry, entry));
72 }
73 }
74 return entry;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public State basicGetEntry() {
83 return entry;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setEntry(State newEntry) {
92 State oldEntry = entry;
93 entry = newEntry;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, SimpleStatechartPackage.ENTRY__ENTRY, oldEntry, entry));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType) {
105 switch (featureID) {
106 case SimpleStatechartPackage.ENTRY__ENTRY:
107 if (resolve) return getEntry();
108 return basicGetEntry();
109 }
110 return super.eGet(featureID, resolve, coreType);
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 @Override
119 public void eSet(int featureID, Object newValue) {
120 switch (featureID) {
121 case SimpleStatechartPackage.ENTRY__ENTRY:
122 setEntry((State)newValue);
123 return;
124 }
125 super.eSet(featureID, newValue);
126 }
127
128 /**
129 * <!-- begin-user-doc -->
130 * <!-- end-user-doc -->
131 * @generated
132 */
133 @Override
134 public void eUnset(int featureID) {
135 switch (featureID) {
136 case SimpleStatechartPackage.ENTRY__ENTRY:
137 setEntry((State)null);
138 return;
139 }
140 super.eUnset(featureID);
141 }
142
143 /**
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 */
148 @Override
149 public boolean eIsSet(int featureID) {
150 switch (featureID) {
151 case SimpleStatechartPackage.ENTRY__ENTRY:
152 return entry != null;
153 }
154 return super.eIsSet(featureID);
155 }
156
157} //EntryImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartFactoryImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartFactoryImpl.java
new file mode 100644
index 00000000..421aee1c
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartFactoryImpl.java
@@ -0,0 +1,117 @@
1/**
2 */
3package simpleStatechart.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.emf.ecore.EPackage;
8
9import org.eclipse.emf.ecore.impl.EFactoryImpl;
10
11import org.eclipse.emf.ecore.plugin.EcorePlugin;
12
13import simpleStatechart.*;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class SimpleStatechartFactoryImpl extends EFactoryImpl implements SimpleStatechartFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static SimpleStatechartFactory init() {
29 try {
30 SimpleStatechartFactory theSimpleStatechartFactory = (SimpleStatechartFactory)EPackage.Registry.INSTANCE.getEFactory(SimpleStatechartPackage.eNS_URI);
31 if (theSimpleStatechartFactory != null) {
32 return theSimpleStatechartFactory;
33 }
34 }
35 catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new SimpleStatechartFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public SimpleStatechartFactoryImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 public EObject create(EClass eClass) {
58 switch (eClass.getClassifierID()) {
59 case SimpleStatechartPackage.STATE: return createState();
60 case SimpleStatechartPackage.ENTRY: return createEntry();
61 case SimpleStatechartPackage.STATECHART: return createStatechart();
62 default:
63 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
64 }
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public State createState() {
73 StateImpl state = new StateImpl();
74 return state;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Entry createEntry() {
83 EntryImpl entry = new EntryImpl();
84 return entry;
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 public Statechart createStatechart() {
93 StatechartImpl statechart = new StatechartImpl();
94 return statechart;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 public SimpleStatechartPackage getSimpleStatechartPackage() {
103 return (SimpleStatechartPackage)getEPackage();
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @deprecated
110 * @generated
111 */
112 @Deprecated
113 public static SimpleStatechartPackage getPackage() {
114 return SimpleStatechartPackage.eINSTANCE;
115 }
116
117} //SimpleStatechartFactoryImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartPackageImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartPackageImpl.java
new file mode 100644
index 00000000..556157e4
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/SimpleStatechartPackageImpl.java
@@ -0,0 +1,252 @@
1/**
2 */
3package simpleStatechart.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9import org.eclipse.emf.ecore.impl.EPackageImpl;
10
11import simpleStatechart.Entry;
12import simpleStatechart.SimpleStatechartFactory;
13import simpleStatechart.SimpleStatechartPackage;
14import simpleStatechart.State;
15import simpleStatechart.Statechart;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model <b>Package</b>.
20 * <!-- end-user-doc -->
21 * @generated
22 */
23public class SimpleStatechartPackageImpl extends EPackageImpl implements SimpleStatechartPackage {
24 /**
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 private EClass stateEClass = null;
30
31 /**
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @generated
35 */
36 private EClass entryEClass = null;
37
38 /**
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @generated
42 */
43 private EClass statechartEClass = null;
44
45 /**
46 * Creates an instance of the model <b>Package</b>, registered with
47 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
48 * package URI value.
49 * <p>Note: the correct way to create the package is via the static
50 * factory method {@link #init init()}, which also performs
51 * initialization of the package, or returns the registered package,
52 * if one already exists.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see org.eclipse.emf.ecore.EPackage.Registry
56 * @see simpleStatechart.SimpleStatechartPackage#eNS_URI
57 * @see #init()
58 * @generated
59 */
60 private SimpleStatechartPackageImpl() {
61 super(eNS_URI, SimpleStatechartFactory.eINSTANCE);
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 private static boolean isInited = false;
70
71 /**
72 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
73 *
74 * <p>This method is used to initialize {@link SimpleStatechartPackage#eINSTANCE} when that field is accessed.
75 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @see #eNS_URI
79 * @see #createPackageContents()
80 * @see #initializePackageContents()
81 * @generated
82 */
83 public static SimpleStatechartPackage init() {
84 if (isInited) return (SimpleStatechartPackage)EPackage.Registry.INSTANCE.getEPackage(SimpleStatechartPackage.eNS_URI);
85
86 // Obtain or create and register package
87 Object registeredSimpleStatechartPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
88 SimpleStatechartPackageImpl theSimpleStatechartPackage = registeredSimpleStatechartPackage instanceof SimpleStatechartPackageImpl ? (SimpleStatechartPackageImpl)registeredSimpleStatechartPackage : new SimpleStatechartPackageImpl();
89
90 isInited = true;
91
92 // Create package meta-data objects
93 theSimpleStatechartPackage.createPackageContents();
94
95 // Initialize created meta-data
96 theSimpleStatechartPackage.initializePackageContents();
97
98 // Mark meta-data to indicate it can't be changed
99 theSimpleStatechartPackage.freeze();
100
101 // Update the registry and return the package
102 EPackage.Registry.INSTANCE.put(SimpleStatechartPackage.eNS_URI, theSimpleStatechartPackage);
103 return theSimpleStatechartPackage;
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 public EClass getState() {
112 return stateEClass;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 public EReference getState_Next() {
121 return (EReference)stateEClass.getEStructuralFeatures().get(0);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 public EClass getEntry() {
130 return entryEClass;
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 public EReference getEntry_Entry() {
139 return (EReference)entryEClass.getEStructuralFeatures().get(0);
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public EClass getStatechart() {
148 return statechartEClass;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 public EReference getStatechart_State() {
157 return (EReference)statechartEClass.getEStructuralFeatures().get(0);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 public EReference getStatechart_Entry() {
166 return (EReference)statechartEClass.getEStructuralFeatures().get(1);
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public SimpleStatechartFactory getSimpleStatechartFactory() {
175 return (SimpleStatechartFactory)getEFactoryInstance();
176 }
177
178 /**
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private boolean isCreated = false;
184
185 /**
186 * Creates the meta-model objects for the package. This method is
187 * guarded to have no affect on any invocation but its first.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 public void createPackageContents() {
193 if (isCreated) return;
194 isCreated = true;
195
196 // Create classes and their features
197 stateEClass = createEClass(STATE);
198 createEReference(stateEClass, STATE__NEXT);
199
200 entryEClass = createEClass(ENTRY);
201 createEReference(entryEClass, ENTRY__ENTRY);
202
203 statechartEClass = createEClass(STATECHART);
204 createEReference(statechartEClass, STATECHART__STATE);
205 createEReference(statechartEClass, STATECHART__ENTRY);
206 }
207
208 /**
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 */
213 private boolean isInitialized = false;
214
215 /**
216 * Complete the initialization of the package and its meta-model. This
217 * method is guarded to have no affect on any invocation but its first.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 public void initializePackageContents() {
223 if (isInitialized) return;
224 isInitialized = true;
225
226 // Initialize package
227 setName(eNAME);
228 setNsPrefix(eNS_PREFIX);
229 setNsURI(eNS_URI);
230
231 // Create type parameters
232
233 // Set bounds for type parameters
234
235 // Add supertypes to classes
236
237 // Initialize classes, features, and operations; add parameters
238 initEClass(stateEClass, State.class, "State", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
239 initEReference(getState_Next(), this.getState(), null, "next", null, 0, -1, State.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
240
241 initEClass(entryEClass, Entry.class, "Entry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
242 initEReference(getEntry_Entry(), this.getState(), null, "entry", null, 0, 1, Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
243
244 initEClass(statechartEClass, Statechart.class, "Statechart", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
245 initEReference(getStatechart_State(), this.getState(), null, "state", null, 0, -1, Statechart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
246 initEReference(getStatechart_Entry(), this.getEntry(), null, "entry", null, 1, 1, Statechart.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
247
248 // Create resource
249 createResource(eNS_URI);
250 }
251
252} //SimpleStatechartPackageImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StateImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StateImpl.java
new file mode 100644
index 00000000..52b97a9d
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StateImpl.java
@@ -0,0 +1,133 @@
1/**
2 */
3package simpleStatechart.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.util.EList;
8
9import org.eclipse.emf.ecore.EClass;
10
11import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
12
13import org.eclipse.emf.ecore.util.EObjectResolvingEList;
14
15import simpleStatechart.SimpleStatechartPackage;
16import simpleStatechart.State;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>State</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link simpleStatechart.impl.StateImpl#getNext <em>Next</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class StateImpl extends MinimalEObjectImpl.Container implements State {
32 /**
33 * The cached value of the '{@link #getNext() <em>Next</em>}' reference list.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getNext()
37 * @generated
38 * @ordered
39 */
40 protected EList<State> next;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 protected StateImpl() {
48 super();
49 }
50
51 /**
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 @Override
57 protected EClass eStaticClass() {
58 return SimpleStatechartPackage.Literals.STATE;
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 public EList<State> getNext() {
67 if (next == null) {
68 next = new EObjectResolvingEList<State>(State.class, this, SimpleStatechartPackage.STATE__NEXT);
69 }
70 return next;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 @Override
79 public Object eGet(int featureID, boolean resolve, boolean coreType) {
80 switch (featureID) {
81 case SimpleStatechartPackage.STATE__NEXT:
82 return getNext();
83 }
84 return super.eGet(featureID, resolve, coreType);
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @SuppressWarnings("unchecked")
93 @Override
94 public void eSet(int featureID, Object newValue) {
95 switch (featureID) {
96 case SimpleStatechartPackage.STATE__NEXT:
97 getNext().clear();
98 getNext().addAll((Collection<? extends State>)newValue);
99 return;
100 }
101 super.eSet(featureID, newValue);
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public void eUnset(int featureID) {
111 switch (featureID) {
112 case SimpleStatechartPackage.STATE__NEXT:
113 getNext().clear();
114 return;
115 }
116 super.eUnset(featureID);
117 }
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 @Override
125 public boolean eIsSet(int featureID) {
126 switch (featureID) {
127 case SimpleStatechartPackage.STATE__NEXT:
128 return next != null && !next.isEmpty();
129 }
130 return super.eIsSet(featureID);
131 }
132
133} //StateImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StatechartImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StatechartImpl.java
new file mode 100644
index 00000000..cef2ee61
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/impl/StatechartImpl.java
@@ -0,0 +1,221 @@
1/**
2 */
3package simpleStatechart.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import simpleStatechart.Entry;
22import simpleStatechart.SimpleStatechartPackage;
23import simpleStatechart.State;
24import simpleStatechart.Statechart;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Statechart</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link simpleStatechart.impl.StatechartImpl#getState <em>State</em>}</li>
35 * <li>{@link simpleStatechart.impl.StatechartImpl#getEntry <em>Entry</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public class StatechartImpl extends MinimalEObjectImpl.Container implements Statechart {
41 /**
42 * The cached value of the '{@link #getState() <em>State</em>}' containment reference list.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getState()
46 * @generated
47 * @ordered
48 */
49 protected EList<State> state;
50
51 /**
52 * The cached value of the '{@link #getEntry() <em>Entry</em>}' containment reference.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getEntry()
56 * @generated
57 * @ordered
58 */
59 protected Entry entry;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected StatechartImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return SimpleStatechartPackage.Literals.STATECHART;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public EList<State> getState() {
86 if (state == null) {
87 state = new EObjectContainmentEList<State>(State.class, this, SimpleStatechartPackage.STATECHART__STATE);
88 }
89 return state;
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 public Entry getEntry() {
98 return entry;
99 }
100
101 /**
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @generated
105 */
106 public NotificationChain basicSetEntry(Entry newEntry, NotificationChain msgs) {
107 Entry oldEntry = entry;
108 entry = newEntry;
109 if (eNotificationRequired()) {
110 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimpleStatechartPackage.STATECHART__ENTRY, oldEntry, newEntry);
111 if (msgs == null) msgs = notification; else msgs.add(notification);
112 }
113 return msgs;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public void setEntry(Entry newEntry) {
122 if (newEntry != entry) {
123 NotificationChain msgs = null;
124 if (entry != null)
125 msgs = ((InternalEObject)entry).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SimpleStatechartPackage.STATECHART__ENTRY, null, msgs);
126 if (newEntry != null)
127 msgs = ((InternalEObject)newEntry).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SimpleStatechartPackage.STATECHART__ENTRY, null, msgs);
128 msgs = basicSetEntry(newEntry, msgs);
129 if (msgs != null) msgs.dispatch();
130 }
131 else if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET, SimpleStatechartPackage.STATECHART__ENTRY, newEntry, newEntry));
133 }
134
135 /**
136 * <!-- begin-user-doc -->
137 * <!-- end-user-doc -->
138 * @generated
139 */
140 @Override
141 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
142 switch (featureID) {
143 case SimpleStatechartPackage.STATECHART__STATE:
144 return ((InternalEList<?>)getState()).basicRemove(otherEnd, msgs);
145 case SimpleStatechartPackage.STATECHART__ENTRY:
146 return basicSetEntry(null, msgs);
147 }
148 return super.eInverseRemove(otherEnd, featureID, msgs);
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public Object eGet(int featureID, boolean resolve, boolean coreType) {
158 switch (featureID) {
159 case SimpleStatechartPackage.STATECHART__STATE:
160 return getState();
161 case SimpleStatechartPackage.STATECHART__ENTRY:
162 return getEntry();
163 }
164 return super.eGet(featureID, resolve, coreType);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @SuppressWarnings("unchecked")
173 @Override
174 public void eSet(int featureID, Object newValue) {
175 switch (featureID) {
176 case SimpleStatechartPackage.STATECHART__STATE:
177 getState().clear();
178 getState().addAll((Collection<? extends State>)newValue);
179 return;
180 case SimpleStatechartPackage.STATECHART__ENTRY:
181 setEntry((Entry)newValue);
182 return;
183 }
184 super.eSet(featureID, newValue);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public void eUnset(int featureID) {
194 switch (featureID) {
195 case SimpleStatechartPackage.STATECHART__STATE:
196 getState().clear();
197 return;
198 case SimpleStatechartPackage.STATECHART__ENTRY:
199 setEntry((Entry)null);
200 return;
201 }
202 super.eUnset(featureID);
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public boolean eIsSet(int featureID) {
212 switch (featureID) {
213 case SimpleStatechartPackage.STATECHART__STATE:
214 return state != null && !state.isEmpty();
215 case SimpleStatechartPackage.STATECHART__ENTRY:
216 return entry != null;
217 }
218 return super.eIsSet(featureID);
219 }
220
221} //StatechartImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartAdapterFactory.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartAdapterFactory.java
new file mode 100644
index 00000000..908a7f5f
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartAdapterFactory.java
@@ -0,0 +1,156 @@
1/**
2 */
3package simpleStatechart.util;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notifier;
7
8import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
9
10import org.eclipse.emf.ecore.EObject;
11
12import simpleStatechart.*;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see simpleStatechart.SimpleStatechartPackage
20 * @generated
21 */
22public class SimpleStatechartAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static SimpleStatechartPackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public SimpleStatechartAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = SimpleStatechartPackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject)object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected SimpleStatechartSwitch<Adapter> modelSwitch =
69 new SimpleStatechartSwitch<Adapter>() {
70 @Override
71 public Adapter caseState(State object) {
72 return createStateAdapter();
73 }
74 @Override
75 public Adapter caseEntry(Entry object) {
76 return createEntryAdapter();
77 }
78 @Override
79 public Adapter caseStatechart(Statechart object) {
80 return createStatechartAdapter();
81 }
82 @Override
83 public Adapter defaultCase(EObject object) {
84 return createEObjectAdapter();
85 }
86 };
87
88 /**
89 * Creates an adapter for the <code>target</code>.
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @param target the object to adapt.
93 * @return the adapter for the <code>target</code>.
94 * @generated
95 */
96 @Override
97 public Adapter createAdapter(Notifier target) {
98 return modelSwitch.doSwitch((EObject)target);
99 }
100
101
102 /**
103 * Creates a new adapter for an object of class '{@link simpleStatechart.State <em>State</em>}'.
104 * <!-- begin-user-doc -->
105 * This default implementation returns null so that we can easily ignore cases;
106 * it's useful to ignore a case when inheritance will catch all the cases anyway.
107 * <!-- end-user-doc -->
108 * @return the new adapter.
109 * @see simpleStatechart.State
110 * @generated
111 */
112 public Adapter createStateAdapter() {
113 return null;
114 }
115
116 /**
117 * Creates a new adapter for an object of class '{@link simpleStatechart.Entry <em>Entry</em>}'.
118 * <!-- begin-user-doc -->
119 * This default implementation returns null so that we can easily ignore cases;
120 * it's useful to ignore a case when inheritance will catch all the cases anyway.
121 * <!-- end-user-doc -->
122 * @return the new adapter.
123 * @see simpleStatechart.Entry
124 * @generated
125 */
126 public Adapter createEntryAdapter() {
127 return null;
128 }
129
130 /**
131 * Creates a new adapter for an object of class '{@link simpleStatechart.Statechart <em>Statechart</em>}'.
132 * <!-- begin-user-doc -->
133 * This default implementation returns null so that we can easily ignore cases;
134 * it's useful to ignore a case when inheritance will catch all the cases anyway.
135 * <!-- end-user-doc -->
136 * @return the new adapter.
137 * @see simpleStatechart.Statechart
138 * @generated
139 */
140 public Adapter createStatechartAdapter() {
141 return null;
142 }
143
144 /**
145 * Creates a new adapter for the default case.
146 * <!-- begin-user-doc -->
147 * This default implementation returns null.
148 * <!-- end-user-doc -->
149 * @return the new adapter.
150 * @generated
151 */
152 public Adapter createEObjectAdapter() {
153 return null;
154 }
155
156} //SimpleStatechartAdapterFactory
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartSwitch.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartSwitch.java
new file mode 100644
index 00000000..30c60e74
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/simpleStatechart/util/SimpleStatechartSwitch.java
@@ -0,0 +1,152 @@
1/**
2 */
3package simpleStatechart.util;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.EPackage;
7
8import org.eclipse.emf.ecore.util.Switch;
9
10import simpleStatechart.*;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see simpleStatechart.SimpleStatechartPackage
23 * @generated
24 */
25public class SimpleStatechartSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static SimpleStatechartPackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public SimpleStatechartSwitch() {
41 if (modelPackage == null) {
42 modelPackage = SimpleStatechartPackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case SimpleStatechartPackage.STATE: {
70 State state = (State)theEObject;
71 T result = caseState(state);
72 if (result == null) result = defaultCase(theEObject);
73 return result;
74 }
75 case SimpleStatechartPackage.ENTRY: {
76 Entry entry = (Entry)theEObject;
77 T result = caseEntry(entry);
78 if (result == null) result = defaultCase(theEObject);
79 return result;
80 }
81 case SimpleStatechartPackage.STATECHART: {
82 Statechart statechart = (Statechart)theEObject;
83 T result = caseStatechart(statechart);
84 if (result == null) result = defaultCase(theEObject);
85 return result;
86 }
87 default: return defaultCase(theEObject);
88 }
89 }
90
91 /**
92 * Returns the result of interpreting the object as an instance of '<em>State</em>'.
93 * <!-- begin-user-doc -->
94 * This implementation returns null;
95 * returning a non-null result will terminate the switch.
96 * <!-- end-user-doc -->
97 * @param object the target of the switch.
98 * @return the result of interpreting the object as an instance of '<em>State</em>'.
99 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
100 * @generated
101 */
102 public T caseState(State object) {
103 return null;
104 }
105
106 /**
107 * Returns the result of interpreting the object as an instance of '<em>Entry</em>'.
108 * <!-- begin-user-doc -->
109 * This implementation returns null;
110 * returning a non-null result will terminate the switch.
111 * <!-- end-user-doc -->
112 * @param object the target of the switch.
113 * @return the result of interpreting the object as an instance of '<em>Entry</em>'.
114 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
115 * @generated
116 */
117 public T caseEntry(Entry object) {
118 return null;
119 }
120
121 /**
122 * Returns the result of interpreting the object as an instance of '<em>Statechart</em>'.
123 * <!-- begin-user-doc -->
124 * This implementation returns null;
125 * returning a non-null result will terminate the switch.
126 * <!-- end-user-doc -->
127 * @param object the target of the switch.
128 * @return the result of interpreting the object as an instance of '<em>Statechart</em>'.
129 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
130 * @generated
131 */
132 public T caseStatechart(Statechart object) {
133 return null;
134 }
135
136 /**
137 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
138 * <!-- begin-user-doc -->
139 * This implementation returns null;
140 * returning a non-null result will terminate the switch, but this is the last case anyway.
141 * <!-- end-user-doc -->
142 * @param object the target of the switch.
143 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
144 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
145 * @generated
146 */
147 @Override
148 public T defaultCase(EObject object) {
149 return null;
150 }
151
152} //SimpleStatechartSwitch
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin
index 2db9fecc..50bd73de 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin
Binary files differ
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java
index ee5069d7..b67728e8 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java
@@ -38,6 +38,7 @@ import org.eclipse.xtext.xbase.lib.Exceptions;
38import org.eclipse.xtext.xbase.lib.Functions.Function1; 38import org.eclipse.xtext.xbase.lib.Functions.Function1;
39import org.eclipse.xtext.xbase.lib.InputOutput; 39import org.eclipse.xtext.xbase.lib.InputOutput;
40import org.eclipse.xtext.xbase.lib.IterableExtensions; 40import org.eclipse.xtext.xbase.lib.IterableExtensions;
41import simpleStatechart.SimpleStatechartPackage;
41 42
42@SuppressWarnings("all") 43@SuppressWarnings("all")
43public class CSERposterSample { 44public class CSERposterSample {
@@ -53,6 +54,10 @@ public class CSERposterSample {
53 54
54 private final static int depth = 1; 55 private final static int depth = 1;
55 56
57 private final static String REALISTIC = "simpleSCRealistic";
58
59 private final static String IRREALISTIC = "simpleSCIrrealistic";
60
56 public static void main(final String[] args) { 61 public static void main(final String[] args) {
57 try { 62 try {
58 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); 63 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
@@ -60,9 +65,10 @@ public class CSERposterSample {
60 _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl); 65 _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl);
61 YakindummPackage.eINSTANCE.eClass(); 66 YakindummPackage.eINSTANCE.eClass();
62 LinkedListPackage.eINSTANCE.eClass(); 67 LinkedListPackage.eINSTANCE.eClass();
68 SimpleStatechartPackage.eINSTANCE.eClass();
63 ReteEngine.class.getClass(); 69 ReteEngine.class.getClass();
64 final String outputs = "outputs"; 70 final String outputs = "outputs";
65 final String instModName = "realisticModel"; 71 final String instModName = CSERposterSample.REALISTIC;
66 StringConcatenation _builder = new StringConcatenation(); 72 StringConcatenation _builder = new StringConcatenation();
67 _builder.append("resources"); 73 _builder.append("resources");
68 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder.toString(), ""); 74 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder.toString(), "");
@@ -92,7 +98,7 @@ public class CSERposterSample {
92 writer.print(CSERposterSample.partialVisualizer.transform(partialModelOutput)); 98 writer.print(CSERposterSample.partialVisualizer.transform(partialModelOutput));
93 writer.close(); 99 writer.close();
94 final NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor> hood = CSERposterSample.neighbourhoodComputer.createRepresentation(partialModelOutput, CSERposterSample.depth, Integer.MAX_VALUE, Integer.MAX_VALUE); 100 final NeighbourhoodWithTraces<Map<? extends AbstractNodeDescriptor, Integer>, AbstractNodeDescriptor> hood = CSERposterSample.neighbourhoodComputer.createRepresentation(partialModelOutput, CSERposterSample.depth, Integer.MAX_VALUE, Integer.MAX_VALUE);
95 final PrintWriter w2 = new PrintWriter((((outputs + "/") + instModName) + "NEIGHBOURHOOD.gml")); 101 final PrintWriter w2 = new PrintWriter(((((outputs + "/") + instModName) + Integer.valueOf(CSERposterSample.depth)) + "NEIGHBOURHOOD.gml"));
96 w2.print(CSERposterSample.neighbourhoodVisualizer.transform(hood, partialModelOutput)); 102 w2.print(CSERposterSample.neighbourhoodVisualizer.transform(hood, partialModelOutput));
97 w2.close(); 103 w2.close();
98 InputOutput.<String>println("visualization done"); 104 InputOutput.<String>println("visualization done");
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Neighbourhood2Gml.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Neighbourhood2Gml.xtend
index 174ffef0..6179c838 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Neighbourhood2Gml.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage/src/hu/bme/mit/inf/dslreasoner/viatrasolver/partialinterpretationlanguage/neighbourhood/Neighbourhood2Gml.xtend
@@ -29,9 +29,11 @@ class Neighbourhood2Gml {
29 val List<CharSequence> allEdgesText = newArrayList 29 val List<CharSequence> allEdgesText = newArrayList
30 val Map<AbstractNodeDescriptor, List<FurtherNodeDescriptor>> children = new HashMap 30 val Map<AbstractNodeDescriptor, List<FurtherNodeDescriptor>> children = new HashMap
31 31
32 val Map<String, Object> edgeName2targetNode = new HashMap 32 // TODO these should not be hashmaps, as a given node can have multiple sameNamed edges to different
33 val Map<String, List<Integer>> edgeName2inMultips = new HashMap 33 val Map<IncomingRelation, Object> edgeNameIn2targetNode = new HashMap
34 val Map<String, List<Integer>> edgeName2outMultips = new HashMap 34 val Map<OutgoingRelation, Object> edgeNameOut2targetNode = new HashMap
35 val Map<IncomingRelation, List<Integer>> edgeName2inMultips = new HashMap
36 val Map<OutgoingRelation, List<Integer>> edgeName2outMultips = new HashMap
35 37
36 val modRep = n.modelRepresentation as HashMap 38 val modRep = n.modelRepresentation as HashMap
37 // Store node text 39 // Store node text
@@ -61,8 +63,8 @@ class Neighbourhood2Gml {
61 // edge transforming 63 // edge transforming
62 for (currentNode : children.keySet) { 64 for (currentNode : children.keySet) {
63 println(currentNode) 65 println(currentNode)
64 transformEdge(edgeName2targetNode, edgeName2inMultips, edgeName2outMultips, allEdgesText, currentNode, 66 transformEdge(edgeNameIn2targetNode, edgeNameOut2targetNode, edgeName2inMultips, edgeName2outMultips,
65 relevantObjectToID, children) 67 allEdgesText, currentNode, relevantObjectToID, children)
66 for (edgeText : allEdgesText) { 68 for (edgeText : allEdgesText) {
67 fullEdgeText.add(edgeText) 69 fullEdgeText.add(edgeText)
68 } 70 }
@@ -83,17 +85,17 @@ class Neighbourhood2Gml {
83 '''.toString 85 '''.toString
84 } 86 }
85 87
86 protected def transformEdge(Map<String, Object> edgeName2targetNode, Map<String, List<Integer>> edgeName2inMultips, 88 protected def transformEdge(Map<IncomingRelation, Object> edgeNameIn2targetNode,
87 Map<String, List<Integer>> edgeName2outMultips, List<CharSequence> allEdgesText, 89 Map<OutgoingRelation, Object> edgeNameOut2targetNode, Map<IncomingRelation, List<Integer>> edgeName2inMultips,
90 Map<OutgoingRelation, List<Integer>> edgeName2outMultips, List<CharSequence> allEdgesText,
88 AbstractNodeDescriptor currentNode, Map<Object, Integer> relevantObjectToID, 91 AbstractNodeDescriptor currentNode, Map<Object, Integer> relevantObjectToID,
89 Map<AbstractNodeDescriptor, List<FurtherNodeDescriptor>> children) { 92 Map<AbstractNodeDescriptor, List<FurtherNodeDescriptor>> children) {
90 93
91 edgeName2targetNode.clear 94 edgeNameIn2targetNode.clear
95 edgeNameOut2targetNode.clear
92 edgeName2inMultips.clear 96 edgeName2inMultips.clear
93 edgeName2outMultips.clear 97 edgeName2outMultips.clear
94 val List<String> modifiedEdgeNames = newArrayList 98 val List<Object> modifiedEdgeNames = newArrayList
95
96 val sourceID = currentNode.lookup(relevantObjectToID)
97 99
98 val List<FurtherNodeDescriptor> subNodes = currentNode.lookup(children) 100 val List<FurtherNodeDescriptor> subNodes = currentNode.lookup(children)
99 for (subNode : subNodes) { 101 for (subNode : subNodes) {
@@ -103,10 +105,9 @@ class Neighbourhood2Gml {
103// mapPrinter(subNode.incomingEdges) 105// mapPrinter(subNode.incomingEdges)
104// println 106// println
105// println 107// println
106
107 // handling outgoing edges 108 // handling outgoing edges
108 for (outEdge : subNode.outgoingEdges.keySet) { 109 for (outEdge : subNode.outgoingEdges.keySet) {
109 val edgeName = (outEdge as OutgoingRelation).type 110 val edgeName = (outEdge as OutgoingRelation)
110 val edgePointingTo = (outEdge as OutgoingRelation).to 111 val edgePointingTo = (outEdge as OutgoingRelation).to
111 val edgeOutMultip = outEdge.lookup(subNode.outgoingEdges) as Integer 112 val edgeOutMultip = outEdge.lookup(subNode.outgoingEdges) as Integer
112 113
@@ -116,18 +117,18 @@ class Neighbourhood2Gml {
116 } else { 117 } else {
117 edgeName2outMultips.put(edgeName, newArrayList(edgeOutMultip)) 118 edgeName2outMultips.put(edgeName, newArrayList(edgeOutMultip))
118 } 119 }
119 edgeName2targetNode.put(edgeName, edgePointingTo) 120 edgeNameOut2targetNode.put(edgeName, edgePointingTo)
120 121
121 } 122 }
122 123
123 } 124 }
124 125
125 // handling incoming edges 126 // handling incoming edges
126 for (outEdgeTarget : edgeName2targetNode.values) { 127 for (outEdgeTarget : edgeNameOut2targetNode.values) {
127 // currentNode = sourceParent 128 // currentNode = sourceParent
128 for (subNode : (outEdgeTarget as AbstractNodeDescriptor).lookup(children)) { 129 for (subNode : (outEdgeTarget as AbstractNodeDescriptor).lookup(children)) {
129 for (inEdge : subNode.incomingEdges.keySet) { 130 for (inEdge : subNode.incomingEdges.keySet) {
130 val edgeName = (inEdge as IncomingRelation).type 131 val edgeName = (inEdge as IncomingRelation)
131 val edgePointingFrom = (inEdge as IncomingRelation).from 132 val edgePointingFrom = (inEdge as IncomingRelation).from
132 val edgeInMultip = inEdge.lookup(subNode.incomingEdges) as Integer 133 val edgeInMultip = inEdge.lookup(subNode.incomingEdges) as Integer
133 134
@@ -138,6 +139,7 @@ class Neighbourhood2Gml {
138 edgeName2inMultips.put(edgeName, newArrayList(edgeInMultip)) 139 edgeName2inMultips.put(edgeName, newArrayList(edgeInMultip))
139 modifiedEdgeNames.add(edgeName) 140 modifiedEdgeNames.add(edgeName)
140 } 141 }
142 edgeNameIn2targetNode.put(edgeName, edgePointingFrom)
141 } 143 }
142// edgeName2targetNode.put(edgeName, edgePointingFrom) 144// edgeName2targetNode.put(edgeName, edgePointingFrom)
143 } 145 }
@@ -146,75 +148,98 @@ class Neighbourhood2Gml {
146// mapPrinter(edgeName2inMultips) 148// mapPrinter(edgeName2inMultips)
147 // fill in the 0 multiplicities (INCOMING) 149 // fill in the 0 multiplicities (INCOMING)
148 for (edgeSoFar : modifiedEdgeNames) { 150 for (edgeSoFar : modifiedEdgeNames) {
149 var inEdgesNum = edgeSoFar.lookup(edgeName2inMultips).size 151 val edgeAsRelation = edgeSoFar as IncomingRelation
152 var inEdgesNum = edgeAsRelation.lookup(edgeName2inMultips).size
150 val targetNode = outEdgeTarget as AbstractNodeDescriptor 153 val targetNode = outEdgeTarget as AbstractNodeDescriptor
151 val targetChildrenNum = targetNode.lookup(children).size 154 val targetChildrenNum = targetNode.lookup(children).size
152 println("in " + edgeSoFar + "=>" + inEdgesNum + " != " + outEdgeTarget + "=>" + targetChildrenNum) 155 println("in " + edgeSoFar + "=>" + inEdgesNum + " != " + outEdgeTarget + "=>" + targetChildrenNum)
153 while (inEdgesNum != targetChildrenNum) { 156 while (inEdgesNum != targetChildrenNum) {
154// println("in" + inEdgesNum + "!=" + targetChildrenNum) 157// println("in" + inEdgesNum + "!=" + targetChildrenNum)
155 edgeSoFar.lookup(edgeName2inMultips).add(0) 158 edgeAsRelation.lookup(edgeName2inMultips).add(0)
156 inEdgesNum++ 159 inEdgesNum++
157 } 160 }
158 } 161 }
159 modifiedEdgeNames.clear 162 modifiedEdgeNames.clear
160 163
161 } 164 }
162 165
163 mapPrinter(edgeName2outMultips) 166 mapPrinter(edgeName2outMultips)
164
165 //TODO
166 167
167 // fill in the 0 multiplicities (OUTGOING) 168 // fill in the 0 multiplicities (OUTGOING)
168// for (edge : edgeName2outMultips.keySet) { 169 for (edge : edgeName2outMultips.keySet) {
169// // handling outgoing edges 170 // handling outgoing edges
170// var outEdgesNum = edge.lookup(edgeName2outMultips).size 171 var outEdgesNum = edge.lookup(edgeName2outMultips).size
171// val sourceChildrenNum = currentNode.lookup(children).size 172 val sourceChildrenNum = currentNode.lookup(children).size
172// 173
173// println("out" + outEdgesNum + "!=" + sourceChildrenNum) 174 println("out " + edge + "=>" + outEdgesNum + " != " + currentNode + "=>" + sourceChildrenNum)
174// while (outEdgesNum != sourceChildrenNum) { 175 while (outEdgesNum != sourceChildrenNum) {
175// edge.lookup(edgeName2outMultips).add(0) 176 edge.lookup(edgeName2outMultips).add(0)
176// outEdgesNum++ 177 outEdgesNum++
177// } 178 }
178// } 179 }
179 println("xxxxxxxx") 180 println("xxxxxxxx")
180 mapPrinter(edgeName2targetNode) 181 mapPrinter(edgeNameIn2targetNode)
182 mapPrinter(edgeNameOut2targetNode)
183
184
181 185
182 updateEdgeList(sourceID, relevantObjectToID, edgeName2targetNode, edgeName2inMultips, edgeName2outMultips, 186 updateEdgeList(currentNode, relevantObjectToID, edgeNameIn2targetNode, edgeNameOut2targetNode, edgeName2inMultips, edgeName2outMultips,
183 allEdgesText) 187 allEdgesText)
184 188
185 } 189 }
186 190
187 def updateEdgeList(Integer sourceID, Map<Object, Integer> relevantObjectToID, 191 def updateEdgeList(AbstractNodeDescriptor currentNode, Map<Object, Integer> relevantObjectToID,
188 Map<String, Object> edgeName2targetNode, Map<String, List<Integer>> edgeName2inMultips, 192 Map<IncomingRelation, Object> edgeNameIn2targetNode,
189 Map<String, List<Integer>> edgeName2outMultips, List<CharSequence> allEdgesTexts) { 193 Map<OutgoingRelation, Object> edgeNameOut2targetNode,
194 Map<IncomingRelation, List<Integer>> edgeName2inMultips,
195 Map<OutgoingRelation, List<Integer>> edgeName2outMultips, List<CharSequence> allEdgesTexts) {
196
197 for (outEdge : edgeNameOut2targetNode.keySet) {
198 // TODO
199 val sourceID = currentNode.lookup(relevantObjectToID)
200 val targetNode = outEdge.lookup(edgeNameOut2targetNode)
201 val targetID = targetNode.lookup(relevantObjectToID)
202 val edgeName = outEdge.type
203
204 //finding corresponding Incoming edge
205 var correspInEdgeSet = edgeNameIn2targetNode.keySet.filter[type.equals(edgeName) && lookup(edgeNameIn2targetNode).equals(currentNode)]
206 println("yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy")
207 println(currentNode)
208 println(outEdge)
209 println(targetNode)
210 println(edgeNameIn2targetNode)
211 println(correspInEdgeSet.size)
212 val correspInEdge = correspInEdgeSet.get(0)
213
190 214
191 for (edge : edgeName2targetNode.keySet) {
192 val targetID = edge.lookup(edgeName2targetNode).lookup(relevantObjectToID)
193 allEdgesTexts.add( 215 allEdgesTexts.add(
194 ''' 216 '''
195 edge 217 edge
196 [ 218 [
197 source «sourceID» 219 source «sourceID»
198 target «targetID» 220 target «targetID»
199 label "«edge»" 221 label "«edgeName»"
200 graphics 222 graphics
201 [ 223 [
202 fill "#000000" 224 fill "#000000"
203 targetArrow "standard" 225 targetArrow "standard"
226 Line
227 [
228 ]
204 ] 229 ]
205 LabelGraphics 230 LabelGraphics
206 [ 231 [
207 text "«edge»" 232 text "«edgeName»"
208 fontSize 12 233 fontSize 12
209 fontName "Dialog" 234 fontName "Dialog"
210 configuration "AutoFlippingLabel" 235 configuration "AutoFlippingLabel"
211 model "six_pos" 236 model "six_pos"
212 position "head" 237 position "head"
213 ] 238 ]
214 «IF edgeName2outMultips.containsKey(edge)» 239 «IF edgeName2outMultips.containsKey(outEdge)»
215 LabelGraphics 240 LabelGraphics
216 [ 241 [
217 text "«edge.lookup(edgeName2outMultips).toString»" 242 text "«outEdge.lookup(edgeName2outMultips).toString»"
218 fontSize 12 243 fontSize 12
219 fontName "Dialog" 244 fontName "Dialog"
220 configuration "AutoFlippingLabel" 245 configuration "AutoFlippingLabel"
@@ -222,10 +247,10 @@ class Neighbourhood2Gml {
222 position "stail" 247 position "stail"
223 ] 248 ]
224 «ENDIF» 249 «ENDIF»
225 «IF edgeName2inMultips.containsKey(edge)» 250 «IF edgeName2inMultips.containsKey(correspInEdge)»
226 LabelGraphics 251 LabelGraphics
227 [ 252 [
228 text "«edge.lookup(edgeName2inMultips).toString»" 253 text "«correspInEdge.lookup(edgeName2inMultips).toString»"
229 fontSize 12 254 fontSize 12
230 fontName "Dialog" 255 fontName "Dialog"
231 configuration "AutoFlippingLabel" 256 configuration "AutoFlippingLabel"