aboutsummaryrefslogtreecommitdiffstats
path: root/Metrics
diff options
context:
space:
mode:
authorLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-05-19 04:57:59 -0400
committerLibravatar ArenBabikian <aren.babikian@mail.mcgill.ca>2019-05-19 04:57:59 -0400
commit250722c453223a238192fda8db9e692ea776afc7 (patch)
treed3ba95ae84e0119cb222cf9d3540f6a944cc7321 /Metrics
parentadd inital metrics project (diff)
downloadVIATRA-Generator-250722c453223a238192fda8db9e692ea776afc7.tar.gz
VIATRA-Generator-250722c453223a238192fda8db9e692ea776afc7.tar.zst
VIATRA-Generator-250722c453223a238192fda8db9e692ea776afc7.zip
REALMET: first impl of n'hood visualis. minor bug with adding outgng 0s.
Diffstat (limited to 'Metrics')
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.classpath15
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.project62
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/META-INF/MANIFEST.MF41
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/build.properties14
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModel.gml1891
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelMODEL.gml1562
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml0
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLMODEL.gml696
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLNEIGHBOURHOOD.gml336
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/unnames.gml90
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.properties4
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml17
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.aird201
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.ecore15
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.genmodel18
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/realisticModel.xmi48
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleLL.xmi19
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.gml121
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.graphml69
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend76
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Element.java77
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListFactory.java60
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListPackage.java312
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/List.java50
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Object.java19
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ElementImpl.java241
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListFactoryImpl.java120
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListPackageImpl.java239
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ListImpl.java176
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ObjectImpl.java36
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListAdapterFactory.java158
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListSwitch.java154
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbinbin0 -> 7376 bytes
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.gitignore1
-rw-r--r--Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java103
35 files changed, 6992 insertions, 49 deletions
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.classpath b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.classpath
index eca7bdba..1c96fe2f 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.classpath
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.classpath
@@ -1,7 +1,8 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<classpath> 2<classpath>
3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> 3 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> 4 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
5 <classpathentry kind="src" path="src"/> 5 <classpathentry kind="src" path="src"/>
6 <classpathentry kind="output" path="bin"/> 6 <classpathentry kind="src" path="xtend-gen"/>
7</classpath> 7 <classpathentry kind="output" path="bin"/>
8</classpath>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.project b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.project
index df61d176..a9426a81 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.project
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/.project
@@ -1,28 +1,34 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription> 2<projectDescription>
3 <name>ca.mcgill.ecse.dslreasoner.realistic.metrics</name> 3 <name>ca.mcgill.ecse.dslreasoner.realistic.metrics</name>
4 <comment></comment> 4 <comment></comment>
5 <projects> 5 <projects>
6 </projects> 6 </projects>
7 <buildSpec> 7 <buildSpec>
8 <buildCommand> 8 <buildCommand>
9 <name>org.eclipse.jdt.core.javabuilder</name> 9 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
10 <arguments> 10 <arguments>
11 </arguments> 11 </arguments>
12 </buildCommand> 12 </buildCommand>
13 <buildCommand> 13 <buildCommand>
14 <name>org.eclipse.pde.ManifestBuilder</name> 14 <name>org.eclipse.jdt.core.javabuilder</name>
15 <arguments> 15 <arguments>
16 </arguments> 16 </arguments>
17 </buildCommand> 17 </buildCommand>
18 <buildCommand> 18 <buildCommand>
19 <name>org.eclipse.pde.SchemaBuilder</name> 19 <name>org.eclipse.pde.ManifestBuilder</name>
20 <arguments> 20 <arguments>
21 </arguments> 21 </arguments>
22 </buildCommand> 22 </buildCommand>
23 </buildSpec> 23 <buildCommand>
24 <natures> 24 <name>org.eclipse.pde.SchemaBuilder</name>
25 <nature>org.eclipse.pde.PluginNature</nature> 25 <arguments>
26 <nature>org.eclipse.jdt.core.javanature</nature> 26 </arguments>
27 </natures> 27 </buildCommand>
28</projectDescription> 28 </buildSpec>
29 <natures>
30 <nature>org.eclipse.pde.PluginNature</nature>
31 <nature>org.eclipse.jdt.core.javanature</nature>
32 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
33 </natures>
34</projectDescription>
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 f04e348b..7ae55080 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
@@ -1,10 +1,31 @@
1Manifest-Version: 1.0 1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2 2Bundle-ManifestVersion: 2
3Bundle-Name: Metrics 3Bundle-Name: %pluginName
4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.realistic.metrics 4Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.realistic.metrics;singleton:=true
5Bundle-Version: 1.0.0.qualifier 5Bundle-Version: 1.0.0.qualifier
6Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.realistic.metrics 6Bundle-ClassPath: .
7Bundle-RequiredExecutionEnvironment: JavaSE-1.8 7Bundle-Vendor: %providerName
8Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.14.0", 8Bundle-Localization: plugin
9 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", 9Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.realistic.metrics
10 Ecore-Plugin;bundle-version="1.0.0" 10Bundle-RequiredExecutionEnvironment: JavaSE-1.8
11Export-Package: linkedList,
12 linkedList.impl,
13 linkedList.util
14Require-Bundle: org.eclipse.core.runtime,
15 org.eclipse.emf.ecore;bundle-version="2.14.0";visibility:=reexport,
16 hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0",
17 Ecore-Plugin;bundle-version="1.0.0",
18 com.google.guava;bundle-version="21.0.0",
19 org.eclipse.viatra.query.runtime;bundle-version="2.1.0",
20 hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0",
21 hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0",
22 org.eclipse.emf.ecore.xmi;bundle-version="2.14.0",
23 hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0",
24 org.eclipse.xtext.xbase.lib,
25 org.eclipse.xtend.lib,
26 org.eclipse.xtend.lib.macro,
27 org.eclipse.viatra.query.runtime.rete;bundle-version="2.1.0",
28 org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.0",
29 org.eclipse.collections;bundle-version="9.2.0"
30Bundle-ActivationPolicy: lazy
31
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/build.properties b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/build.properties
index 34d2e4d2..4d3b1827 100644
--- a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/build.properties
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/build.properties
@@ -1,4 +1,10 @@
1source.. = src/ 1#
2output.. = bin/ 2
3bin.includes = META-INF/,\ 3bin.includes = .,\
4 . 4 model/,\
5 META-INF/,\
6 plugin.xml,\
7 plugin.properties
8jars.compile.order = .
9source.. = src/
10output.. = bin/
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModel.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModel.gml
new file mode 100644
index 00000000..cd7c028b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModel.gml
@@ -0,0 +1,1891 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label "true"
12 graphics
13 [
14 x 832.9
15 y 301.0
16 w 41.800000000000004
17 h 26.0
18 type "rectangle"
19 fill "#FFFFFF"
20 fill2 "#FFFFFF"
21 outline "#000000"
22 ]
23 LabelGraphics
24 [
25 text "true"
26 outline "#000000"
27 fill "#FFFFFF"
28 fontSize 16
29 fontName "Monospace"
30 autoSizePolicy "node_width"
31 anchor "t"
32 borderDistance 0.0
33 ]
34 LabelGraphics
35 [
36 text "
37 "
38 fontSize 14
39 fontName "Consolas"
40 alignment "left"
41 anchor "tl"
42 borderDistance 6.0
43 ]
44 ]
45 node
46 [
47 id 1
48 label "false"
49 graphics
50 [
51 x 740.3
52 y 301.0
53 w 50.6
54 h 26.0
55 type "rectangle"
56 fill "#FFFFFF"
57 fill2 "#FFFFFF"
58 outline "#000000"
59 ]
60 LabelGraphics
61 [
62 text "false"
63 outline "#000000"
64 fill "#FFFFFF"
65 fontSize 16
66 fontName "Monospace"
67 autoSizePolicy "node_width"
68 anchor "t"
69 borderDistance 0.0
70 ]
71 LabelGraphics
72 [
73 text "
74 "
75 fontSize 14
76 fontName "Consolas"
77 alignment "left"
78 anchor "tl"
79 borderDistance 6.0
80 ]
81 ]
82 node
83 [
84 id 2
85 label "null"
86 graphics
87 [
88 x 401.79999999999995
89 y 546.0
90 w 184.8
91 h 54.0
92 type "rectangle"
93 fill "#FFFFFF"
94 fill2 "#FFFFFF"
95 outline "#000000"
96 ]
97 LabelGraphics
98 [
99 text "null"
100 outline "#000000"
101 fill "#FFFFFF"
102 fontSize 16
103 fontName "Monospace"
104 autoSizePolicy "node_width"
105 anchor "t"
106 borderDistance 0.0
107 ]
108 LabelGraphics
109 [
110 text "
111 Statechart class
112 CompositeElement class
113 "
114 fontSize 14
115 fontName "Consolas"
116 alignment "left"
117 anchor "tl"
118 borderDistance 6.0
119 ]
120 ]
121 node
122 [
123 id 3
124 label "null"
125 graphics
126 [
127 x 379.29999999999995
128 y 356.0
129 w 107.80000000000001
130 h 40.0
131 type "rectangle"
132 fill "#FFFFFF"
133 fill2 "#FFFFFF"
134 outline "#000000"
135 ]
136 LabelGraphics
137 [
138 text "null"
139 outline "#000000"
140 fill "#FFFFFF"
141 fontSize 16
142 fontName "Monospace"
143 autoSizePolicy "node_width"
144 anchor "t"
145 borderDistance 0.0
146 ]
147 LabelGraphics
148 [
149 text "
150 Region class
151 "
152 fontSize 14
153 fontName "Consolas"
154 alignment "left"
155 anchor "tl"
156 borderDistance 6.0
157 ]
158 ]
159 node
160 [
161 id 4
162 label "null"
163 graphics
164 [
165 x 522.8
166 y 412.0
167 w 146.3
168 h 68.0
169 type "rectangle"
170 fill "#FFFFFF"
171 fill2 "#FFFFFF"
172 outline "#000000"
173 ]
174 LabelGraphics
175 [
176 text "null"
177 outline "#000000"
178 fill "#FFFFFF"
179 fontSize 16
180 fontName "Monospace"
181 autoSizePolicy "node_width"
182 anchor "t"
183 borderDistance 0.0
184 ]
185 LabelGraphics
186 [
187 text "
188 Pseudostate class
189 Vertex class
190 Entry class
191 "
192 fontSize 14
193 fontName "Consolas"
194 alignment "left"
195 anchor "tl"
196 borderDistance 6.0
197 ]
198 ]
199 node
200 [
201 id 5
202 label "null"
203 graphics
204 [
205 x 413.8
206 y 251.0
207 w 138.60000000000002
208 h 40.0
209 type "rectangle"
210 fill "#FFFFFF"
211 fill2 "#FFFFFF"
212 outline "#000000"
213 ]
214 LabelGraphics
215 [
216 text "null"
217 outline "#000000"
218 fill "#FFFFFF"
219 fontSize 16
220 fontName "Monospace"
221 autoSizePolicy "node_width"
222 anchor "t"
223 borderDistance 0.0
224 ]
225 LabelGraphics
226 [
227 text "
228 Transition class
229 "
230 fontSize 14
231 fontName "Consolas"
232 alignment "left"
233 anchor "tl"
234 borderDistance 6.0
235 ]
236 ]
237 node
238 [
239 id 6
240 label "null"
241 graphics
242 [
243 x 300.8
244 y 148.0
245 w 184.8
246 h 82.0
247 type "rectangle"
248 fill "#FFFFFF"
249 fill2 "#FFFFFF"
250 outline "#000000"
251 ]
252 LabelGraphics
253 [
254 text "null"
255 outline "#000000"
256 fill "#FFFFFF"
257 fontSize 16
258 fontName "Monospace"
259 autoSizePolicy "node_width"
260 anchor "t"
261 borderDistance 0.0
262 ]
263 LabelGraphics
264 [
265 text "
266 Vertex class
267 State class
268 RegularState class
269 CompositeElement class
270 "
271 fontSize 14
272 fontName "Consolas"
273 alignment "left"
274 anchor "tl"
275 borderDistance 6.0
276 ]
277 ]
278 node
279 [
280 id 7
281 label "null"
282 graphics
283 [
284 x 168.8
285 y 34.0
286 w 138.60000000000002
287 h 40.0
288 type "rectangle"
289 fill "#FFFFFF"
290 fill2 "#FFFFFF"
291 outline "#000000"
292 ]
293 LabelGraphics
294 [
295 text "null"
296 outline "#000000"
297 fill "#FFFFFF"
298 fontSize 16
299 fontName "Monospace"
300 autoSizePolicy "node_width"
301 anchor "t"
302 borderDistance 0.0
303 ]
304 LabelGraphics
305 [
306 text "
307 Transition class
308 "
309 fontSize 14
310 fontName "Consolas"
311 alignment "left"
312 anchor "tl"
313 borderDistance 6.0
314 ]
315 ]
316 node
317 [
318 id 8
319 label "null"
320 graphics
321 [
322 x 233.3
323 y 231.0
324 w 184.8
325 h 82.0
326 type "rectangle"
327 fill "#FFFFFF"
328 fill2 "#FFFFFF"
329 outline "#000000"
330 ]
331 LabelGraphics
332 [
333 text "null"
334 outline "#000000"
335 fill "#FFFFFF"
336 fontSize 16
337 fontName "Monospace"
338 autoSizePolicy "node_width"
339 anchor "t"
340 borderDistance 0.0
341 ]
342 LabelGraphics
343 [
344 text "
345 Vertex class
346 State class
347 RegularState class
348 CompositeElement class
349 "
350 fontSize 14
351 fontName "Consolas"
352 alignment "left"
353 anchor "tl"
354 borderDistance 6.0
355 ]
356 ]
357 node
358 [
359 id 9
360 label "null"
361 graphics
362 [
363 x 309.3
364 y 20.0
365 w 138.60000000000002
366 h 40.0
367 type "rectangle"
368 fill "#FFFFFF"
369 fill2 "#FFFFFF"
370 outline "#000000"
371 ]
372 LabelGraphics
373 [
374 text "null"
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 Transition class
387 "
388 fontSize 14
389 fontName "Consolas"
390 alignment "left"
391 anchor "tl"
392 borderDistance 6.0
393 ]
394 ]
395 node
396 [
397 id 10
398 label "null"
399 graphics
400 [
401 x 100.80000000000001
402 y 148.0
403 w 138.60000000000002
404 h 40.0
405 type "rectangle"
406 fill "#FFFFFF"
407 fill2 "#FFFFFF"
408 outline "#000000"
409 ]
410 LabelGraphics
411 [
412 text "null"
413 outline "#000000"
414 fill "#FFFFFF"
415 fontSize 16
416 fontName "Monospace"
417 autoSizePolicy "node_width"
418 anchor "t"
419 borderDistance 0.0
420 ]
421 LabelGraphics
422 [
423 text "
424 Transition class
425 "
426 fontSize 14
427 fontName "Consolas"
428 alignment "left"
429 anchor "tl"
430 borderDistance 6.0
431 ]
432 ]
433 node
434 [
435 id 11
436 label "null"
437 graphics
438 [
439 x 69.30000000000001
440 y 395.0
441 w 138.60000000000002
442 h 40.0
443 type "rectangle"
444 fill "#FFFFFF"
445 fill2 "#FFFFFF"
446 outline "#000000"
447 ]
448 LabelGraphics
449 [
450 text "null"
451 outline "#000000"
452 fill "#FFFFFF"
453 fontSize 16
454 fontName "Monospace"
455 autoSizePolicy "node_width"
456 anchor "t"
457 borderDistance 0.0
458 ]
459 LabelGraphics
460 [
461 text "
462 Transition class
463 "
464 fontSize 14
465 fontName "Consolas"
466 alignment "left"
467 anchor "tl"
468 borderDistance 6.0
469 ]
470 ]
471 node
472 [
473 id 12
474 label "null"
475 graphics
476 [
477 x 428.3
478 y 86.0
479 w 138.60000000000002
480 h 40.0
481 type "rectangle"
482 fill "#FFFFFF"
483 fill2 "#FFFFFF"
484 outline "#000000"
485 ]
486 LabelGraphics
487 [
488 text "null"
489 outline "#000000"
490 fill "#FFFFFF"
491 fontSize 16
492 fontName "Monospace"
493 autoSizePolicy "node_width"
494 anchor "t"
495 borderDistance 0.0
496 ]
497 LabelGraphics
498 [
499 text "
500 Transition class
501 "
502 fontSize 14
503 fontName "Consolas"
504 alignment "left"
505 anchor "tl"
506 borderDistance 6.0
507 ]
508 ]
509 node
510 [
511 id 13
512 label "null"
513 graphics
514 [
515 x 231.8
516 y 355.0
517 w 184.8
518 h 82.0
519 type "rectangle"
520 fill "#FFFFFF"
521 fill2 "#FFFFFF"
522 outline "#000000"
523 ]
524 LabelGraphics
525 [
526 text "null"
527 outline "#000000"
528 fill "#FFFFFF"
529 fontSize 16
530 fontName "Monospace"
531 autoSizePolicy "node_width"
532 anchor "t"
533 borderDistance 0.0
534 ]
535 LabelGraphics
536 [
537 text "
538 Vertex class
539 State class
540 RegularState class
541 CompositeElement class
542 "
543 fontSize 14
544 fontName "Consolas"
545 alignment "left"
546 anchor "tl"
547 borderDistance 6.0
548 ]
549 ]
550 node
551 [
552 id 14
553 label "null"
554 graphics
555 [
556 x 298.3
557 y 420.0
558 w 138.60000000000002
559 h 40.0
560 type "rectangle"
561 fill "#FFFFFF"
562 fill2 "#FFFFFF"
563 outline "#000000"
564 ]
565 LabelGraphics
566 [
567 text "null"
568 outline "#000000"
569 fill "#FFFFFF"
570 fontSize 16
571 fontName "Monospace"
572 autoSizePolicy "node_width"
573 anchor "t"
574 borderDistance 0.0
575 ]
576 LabelGraphics
577 [
578 text "
579 Transition class
580 "
581 fontSize 14
582 fontName "Consolas"
583 alignment "left"
584 anchor "tl"
585 borderDistance 6.0
586 ]
587 ]
588 node
589 [
590 id 15
591 label "null"
592 graphics
593 [
594 x 194.8
595 y 502.0
596 w 184.8
597 h 82.0
598 type "rectangle"
599 fill "#FFFFFF"
600 fill2 "#FFFFFF"
601 outline "#000000"
602 ]
603 LabelGraphics
604 [
605 text "null"
606 outline "#000000"
607 fill "#FFFFFF"
608 fontSize 16
609 fontName "Monospace"
610 autoSizePolicy "node_width"
611 anchor "t"
612 borderDistance 0.0
613 ]
614 LabelGraphics
615 [
616 text "
617 Vertex class
618 State class
619 RegularState class
620 CompositeElement class
621 "
622 fontSize 14
623 fontName "Consolas"
624 alignment "left"
625 anchor "tl"
626 borderDistance 6.0
627 ]
628 ]
629 node
630 [
631 id 16
632 label "null"
633 graphics
634 [
635 x 100.30000000000001
636 y 293.0
637 w 138.60000000000002
638 h 40.0
639 type "rectangle"
640 fill "#FFFFFF"
641 fill2 "#FFFFFF"
642 outline "#000000"
643 ]
644 LabelGraphics
645 [
646 text "null"
647 outline "#000000"
648 fill "#FFFFFF"
649 fontSize 16
650 fontName "Monospace"
651 autoSizePolicy "node_width"
652 anchor "t"
653 borderDistance 0.0
654 ]
655 LabelGraphics
656 [
657 text "
658 Transition class
659 "
660 fontSize 14
661 fontName "Consolas"
662 alignment "left"
663 anchor "tl"
664 borderDistance 6.0
665 ]
666 ]
667 node
668 [
669 id 17
670 label "null"
671 graphics
672 [
673 x 576.8
674 y 240.0
675 w 184.8
676 h 82.0
677 type "rectangle"
678 fill "#FFFFFF"
679 fill2 "#FFFFFF"
680 outline "#000000"
681 ]
682 LabelGraphics
683 [
684 text "null"
685 outline "#000000"
686 fill "#FFFFFF"
687 fontSize 16
688 fontName "Monospace"
689 autoSizePolicy "node_width"
690 anchor "t"
691 borderDistance 0.0
692 ]
693 LabelGraphics
694 [
695 text "
696 Vertex class
697 State class
698 RegularState class
699 CompositeElement class
700 "
701 fontSize 14
702 fontName "Consolas"
703 alignment "left"
704 anchor "tl"
705 borderDistance 6.0
706 ]
707 ]
708 node
709 [
710 id 18
711 label "New Integers"
712 graphics
713 [
714 x 771.1
715 y 13.0
716 w 112.2
717 h 26.0
718 type "rectangle"
719 fill "#FFFFFF"
720 fill2 "#FFFFFF"
721 outline "#000000"
722 ]
723 LabelGraphics
724 [
725 text "New Integers"
726 outline "#000000"
727 fill "#FFFFFF"
728 fontSize 16
729 fontName "Monospace"
730 autoSizePolicy "node_width"
731 anchor "t"
732 borderDistance 0.0
733 ]
734 LabelGraphics
735 [
736 text "
737 "
738 fontSize 14
739 fontName "Consolas"
740 alignment "left"
741 anchor "tl"
742 borderDistance 6.0
743 ]
744 ]
745 node
746 [
747 id 19
748 label "New Reals"
749 graphics
750 [
751 x 757.9
752 y 229.0
753 w 85.80000000000001
754 h 26.0
755 type "rectangle"
756 fill "#FFFFFF"
757 fill2 "#FFFFFF"
758 outline "#000000"
759 ]
760 LabelGraphics
761 [
762 text "New Reals"
763 outline "#000000"
764 fill "#FFFFFF"
765 fontSize 16
766 fontName "Monospace"
767 autoSizePolicy "node_width"
768 anchor "t"
769 borderDistance 0.0
770 ]
771 LabelGraphics
772 [
773 text "
774 "
775 fontSize 14
776 fontName "Consolas"
777 alignment "left"
778 anchor "tl"
779 borderDistance 6.0
780 ]
781 ]
782 node
783 [
784 id 20
785 label "New Strings"
786 graphics
787 [
788 x 766.7
789 y 85.0
790 w 103.4
791 h 26.0
792 type "rectangle"
793 fill "#FFFFFF"
794 fill2 "#FFFFFF"
795 outline "#000000"
796 ]
797 LabelGraphics
798 [
799 text "New Strings"
800 outline "#000000"
801 fill "#FFFFFF"
802 fontSize 16
803 fontName "Monospace"
804 autoSizePolicy "node_width"
805 anchor "t"
806 borderDistance 0.0
807 ]
808 LabelGraphics
809 [
810 text "
811 "
812 fontSize 14
813 fontName "Consolas"
814 alignment "left"
815 anchor "tl"
816 borderDistance 6.0
817 ]
818 ]
819 node
820 [
821 id 21
822 label "New Objects"
823 graphics
824 [
825 x 766.7
826 y 157.0
827 w 103.4
828 h 26.0
829 type "rectangle"
830 fill "#FFFFFF"
831 fill2 "#FFFFFF"
832 outline "#000000"
833 ]
834 LabelGraphics
835 [
836 text "New Objects"
837 outline "#000000"
838 fill "#FFFFFF"
839 fontSize 16
840 fontName "Monospace"
841 autoSizePolicy "node_width"
842 anchor "t"
843 borderDistance 0.0
844 ]
845 LabelGraphics
846 [
847 text "
848 "
849 fontSize 14
850 fontName "Consolas"
851 alignment "left"
852 anchor "tl"
853 borderDistance 6.0
854 ]
855 ]
856 edge
857 [
858 source 6
859 target 5
860 label "incomingTransitions reference Vertex"
861 graphics
862 [
863 fill "#000000"
864 targetArrow "standard"
865 ]
866 edgeAnchor
867 [
868 xSource 0.08032754342061545
869 xTarget 0.10710339122748727
870 ]
871 LabelGraphics
872 [
873 text "incomingTransitions reference Vertex"
874 fontSize 14
875 fontName "Consolas"
876 configuration "AutoFlippingLabel"
877 contentWidth 281.1015625
878 contentHeight 18.0
879 model "six_pos"
880 position "thead"
881 ]
882 ]
883 edge
884 [
885 source 6
886 target 9
887 label "incomingTransitions reference Vertex"
888 graphics
889 [
890 fill "#000000"
891 targetArrow "standard"
892 ]
893 edgeAnchor
894 [
895 xSource -0.05423173536706701
896 xTarget -0.07230898048942268
897 ]
898 LabelGraphics
899 [
900 text "incomingTransitions reference Vertex"
901 fontSize 14
902 fontName "Consolas"
903 configuration "AutoFlippingLabel"
904 contentWidth 281.1015625
905 contentHeight 18.0
906 model "six_pos"
907 position "thead"
908 ]
909 ]
910 edge
911 [
912 source 6
913 target 16
914 label "incomingTransitions reference Vertex"
915 graphics
916 [
917 fill "#000000"
918 targetArrow "standard"
919 ]
920 edgeAnchor
921 [
922 xSource 0.09234115756532207
923 xTarget 0.12312154342042972
924 yTarget 2.2204460492503132E-17
925 ]
926 LabelGraphics
927 [
928 text "incomingTransitions reference Vertex"
929 fontSize 14
930 fontName "Consolas"
931 configuration "AutoFlippingLabel"
932 contentWidth 281.1015625
933 contentHeight 18.0
934 model "six_pos"
935 position "thead"
936 ]
937 ]
938 edge
939 [
940 source 8
941 target 7
942 label "incomingTransitions reference Vertex"
943 graphics
944 [
945 fill "#000000"
946 targetArrow "standard"
947 ]
948 edgeAnchor
949 [
950 xSource -0.056939112509911224
951 xTarget -0.07591881667988142
952 ]
953 LabelGraphics
954 [
955 text "incomingTransitions reference Vertex"
956 fontSize 14
957 fontName "Consolas"
958 configuration "AutoFlippingLabel"
959 contentWidth 281.1015625
960 contentHeight 18.0
961 model "six_pos"
962 position "thead"
963 ]
964 ]
965 edge
966 [
967 source 8
968 target 14
969 label "incomingTransitions reference Vertex"
970 graphics
971 [
972 fill "#000000"
973 targetArrow "standard"
974 ]
975 edgeAnchor
976 [
977 xSource 0.05722329714569708
978 xTarget 0.07629772952759617
979 ]
980 LabelGraphics
981 [
982 text "incomingTransitions reference Vertex"
983 fontSize 14
984 fontName "Consolas"
985 configuration "AutoFlippingLabel"
986 contentWidth 281.1015625
987 contentHeight 18.0
988 model "six_pos"
989 position "thead"
990 ]
991 ]
992 edge
993 [
994 source 13
995 target 10
996 label "incomingTransitions reference Vertex"
997 graphics
998 [
999 fill "#000000"
1000 targetArrow "standard"
1001 ]
1002 edgeAnchor
1003 [
1004 xSource -0.06403825675031763
1005 xTarget -0.08538434233375684
1006 ]
1007 LabelGraphics
1008 [
1009 text "incomingTransitions reference Vertex"
1010 fontSize 14
1011 fontName "Consolas"
1012 configuration "AutoFlippingLabel"
1013 contentWidth 281.1015625
1014 contentHeight 18.0
1015 model "six_pos"
1016 position "thead"
1017 ]
1018 ]
1019 edge
1020 [
1021 source 15
1022 target 11
1023 label "incomingTransitions reference Vertex"
1024 graphics
1025 [
1026 fill "#000000"
1027 targetArrow "standard"
1028 ]
1029 edgeAnchor
1030 [
1031 xSource -0.0834051215952323
1032 xTarget -0.11120682879364265
1033 ]
1034 LabelGraphics
1035 [
1036 text "incomingTransitions reference Vertex"
1037 fontSize 14
1038 fontName "Consolas"
1039 configuration "AutoFlippingLabel"
1040 contentWidth 281.1015625
1041 contentHeight 18.0
1042 model "six_pos"
1043 position "thead"
1044 ]
1045 ]
1046 edge
1047 [
1048 source 17
1049 target 12
1050 label "incomingTransitions reference Vertex"
1051 graphics
1052 [
1053 fill "#000000"
1054 targetArrow "standard"
1055 ]
1056 edgeAnchor
1057 [
1058 xSource -0.07517258170522839
1059 xTarget -0.10023010894030451
1060 ]
1061 LabelGraphics
1062 [
1063 text "incomingTransitions reference Vertex"
1064 fontSize 14
1065 fontName "Consolas"
1066 configuration "AutoFlippingLabel"
1067 contentWidth 281.1015625
1068 contentHeight 18.0
1069 model "six_pos"
1070 position "thead"
1071 ]
1072 ]
1073 edge
1074 [
1075 source 4
1076 target 5
1077 label "outgoingTransitions reference Vertex"
1078 graphics
1079 [
1080 width 3
1081 fill "#000000"
1082 targetArrow "standard"
1083 ]
1084 edgeAnchor
1085 [
1086 xSource -0.08254431858692544
1087 xTarget -0.08713011406397665
1088 ]
1089 LabelGraphics
1090 [
1091 text "outgoingTransitions reference Vertex"
1092 fontSize 14
1093 fontName "Consolas"
1094 configuration "AutoFlippingLabel"
1095 contentWidth 281.1015625
1096 contentHeight 18.0
1097 model "six_pos"
1098 position "thead"
1099 ]
1100 ]
1101 edge
1102 [
1103 source 6
1104 target 7
1105 label "outgoingTransitions reference Vertex"
1106 graphics
1107 [
1108 width 3
1109 fill "#000000"
1110 targetArrow "standard"
1111 ]
1112 edgeAnchor
1113 [
1114 xSource -0.08278902855860473
1115 xTarget -0.11038537141147287
1116 ]
1117 LabelGraphics
1118 [
1119 text "outgoingTransitions reference Vertex"
1120 fontSize 14
1121 fontName "Consolas"
1122 configuration "AutoFlippingLabel"
1123 contentWidth 281.1015625
1124 contentHeight 18.0
1125 model "six_pos"
1126 position "thead"
1127 ]
1128 ]
1129 edge
1130 [
1131 source 8
1132 target 9
1133 label "outgoingTransitions reference Vertex"
1134 graphics
1135 [
1136 width 3
1137 fill "#000000"
1138 targetArrow "standard"
1139 ]
1140 edgeAnchor
1141 [
1142 xSource -0.05751572768585484
1143 xTarget -0.07668763691447326
1144 ]
1145 LabelGraphics
1146 [
1147 text "outgoingTransitions reference Vertex"
1148 fontSize 14
1149 fontName "Consolas"
1150 configuration "AutoFlippingLabel"
1151 contentWidth 281.1015625
1152 contentHeight 18.0
1153 model "six_pos"
1154 position "thead"
1155 ]
1156 ]
1157 edge
1158 [
1159 source 8
1160 target 10
1161 label "outgoingTransitions reference Vertex"
1162 graphics
1163 [
1164 width 3
1165 fill "#000000"
1166 targetArrow "standard"
1167 ]
1168 edgeAnchor
1169 [
1170 xSource -0.10193355770368039
1171 xTarget -0.13591141027157383
1172 ]
1173 LabelGraphics
1174 [
1175 text "outgoingTransitions reference Vertex"
1176 fontSize 14
1177 fontName "Consolas"
1178 configuration "AutoFlippingLabel"
1179 contentWidth 281.1015625
1180 contentHeight 18.0
1181 model "six_pos"
1182 position "thead"
1183 ]
1184 ]
1185 edge
1186 [
1187 source 8
1188 target 11
1189 label "outgoingTransitions reference Vertex"
1190 graphics
1191 [
1192 width 3
1193 fill "#000000"
1194 targetArrow "standard"
1195 ]
1196 edgeAnchor
1197 [
1198 xSource 0.07652670792062202
1199 xTarget 0.10203561056082977
1200 ]
1201 LabelGraphics
1202 [
1203 text "outgoingTransitions reference Vertex"
1204 fontSize 14
1205 fontName "Consolas"
1206 configuration "AutoFlippingLabel"
1207 contentWidth 281.1015625
1208 contentHeight 18.0
1209 model "six_pos"
1210 position "thead"
1211 ]
1212 ]
1213 edge
1214 [
1215 source 8
1216 target 12
1217 label "outgoingTransitions reference Vertex"
1218 graphics
1219 [
1220 width 3
1221 fill "#000000"
1222 targetArrow "standard"
1223 ]
1224 edgeAnchor
1225 [
1226 xSource -0.09068594476953899
1227 xTarget -0.1209145930260524
1228 ]
1229 LabelGraphics
1230 [
1231 text "outgoingTransitions reference Vertex"
1232 fontSize 14
1233 fontName "Consolas"
1234 configuration "AutoFlippingLabel"
1235 contentWidth 281.1015625
1236 contentHeight 18.0
1237 model "six_pos"
1238 position "thead"
1239 ]
1240 ]
1241 edge
1242 [
1243 source 13
1244 target 14
1245 label "outgoingTransitions reference Vertex"
1246 graphics
1247 [
1248 width 3
1249 fill "#000000"
1250 targetArrow "standard"
1251 ]
1252 edgeAnchor
1253 [
1254 xSource 0.07741474435720763
1255 xTarget 0.10321965914294319
1256 ]
1257 LabelGraphics
1258 [
1259 text "outgoingTransitions reference Vertex"
1260 fontSize 14
1261 fontName "Consolas"
1262 configuration "AutoFlippingLabel"
1263 contentWidth 281.1015625
1264 contentHeight 18.0
1265 model "six_pos"
1266 position "thead"
1267 ]
1268 ]
1269 edge
1270 [
1271 source 15
1272 target 16
1273 label "outgoingTransitions reference Vertex"
1274 graphics
1275 [
1276 width 3
1277 fill "#000000"
1278 targetArrow "standard"
1279 ]
1280 edgeAnchor
1281 [
1282 xSource -0.059386954907372135
1283 xTarget -0.07918260654316284
1284 ]
1285 LabelGraphics
1286 [
1287 text "outgoingTransitions reference Vertex"
1288 fontSize 14
1289 fontName "Consolas"
1290 configuration "AutoFlippingLabel"
1291 contentWidth 281.1015625
1292 contentHeight 18.0
1293 model "six_pos"
1294 position "thead"
1295 ]
1296 ]
1297 edge
1298 [
1299 source 3
1300 target 4
1301 label "vertices reference Region"
1302 graphics
1303 [
1304 width 3
1305 fill "#000000"
1306 targetArrow "standard"
1307 ]
1308 LabelGraphics
1309 [
1310 text "vertices reference Region"
1311 fontSize 14
1312 fontName "Consolas"
1313 configuration "AutoFlippingLabel"
1314 contentWidth 196.431640625
1315 contentHeight 18.0
1316 model "six_pos"
1317 position "thead"
1318 ]
1319 ]
1320 edge
1321 [
1322 source 3
1323 target 6
1324 label "vertices reference Region"
1325 graphics
1326 [
1327 width 3
1328 fill "#000000"
1329 targetArrow "standard"
1330 ]
1331 LabelGraphics
1332 [
1333 text "vertices reference Region"
1334 fontSize 14
1335 fontName "Consolas"
1336 configuration "AutoFlippingLabel"
1337 contentWidth 196.431640625
1338 contentHeight 18.0
1339 model "six_pos"
1340 position "thead"
1341 ]
1342 ]
1343 edge
1344 [
1345 source 3
1346 target 8
1347 label "vertices reference Region"
1348 graphics
1349 [
1350 width 3
1351 fill "#000000"
1352 targetArrow "standard"
1353 ]
1354 LabelGraphics
1355 [
1356 text "vertices reference Region"
1357 fontSize 14
1358 fontName "Consolas"
1359 configuration "AutoFlippingLabel"
1360 contentWidth 196.431640625
1361 contentHeight 18.0
1362 model "six_pos"
1363 position "thead"
1364 ]
1365 ]
1366 edge
1367 [
1368 source 3
1369 target 13
1370 label "vertices reference Region"
1371 graphics
1372 [
1373 width 3
1374 fill "#000000"
1375 targetArrow "standard"
1376 ]
1377 LabelGraphics
1378 [
1379 text "vertices reference Region"
1380 fontSize 14
1381 fontName "Consolas"
1382 configuration "AutoFlippingLabel"
1383 contentWidth 196.431640625
1384 contentHeight 18.0
1385 model "six_pos"
1386 position "thead"
1387 ]
1388 ]
1389 edge
1390 [
1391 source 3
1392 target 15
1393 label "vertices reference Region"
1394 graphics
1395 [
1396 width 3
1397 fill "#000000"
1398 targetArrow "standard"
1399 ]
1400 LabelGraphics
1401 [
1402 text "vertices reference Region"
1403 fontSize 14
1404 fontName "Consolas"
1405 configuration "AutoFlippingLabel"
1406 contentWidth 196.431640625
1407 contentHeight 18.0
1408 model "six_pos"
1409 position "thead"
1410 ]
1411 ]
1412 edge
1413 [
1414 source 3
1415 target 17
1416 label "vertices reference Region"
1417 graphics
1418 [
1419 width 3
1420 fill "#000000"
1421 targetArrow "standard"
1422 ]
1423 LabelGraphics
1424 [
1425 text "vertices reference Region"
1426 fontSize 14
1427 fontName "Consolas"
1428 configuration "AutoFlippingLabel"
1429 contentWidth 196.431640625
1430 contentHeight 18.0
1431 model "six_pos"
1432 position "thead"
1433 ]
1434 ]
1435 edge
1436 [
1437 source 5
1438 target 6
1439 label "target reference Transition"
1440 graphics
1441 [
1442 fill "#000000"
1443 targetArrow "standard"
1444 ]
1445 edgeAnchor
1446 [
1447 xSource -0.10710339122748727
1448 xTarget -0.08032754342061535
1449 ]
1450 LabelGraphics
1451 [
1452 text "target reference Transition"
1453 fontSize 14
1454 fontName "Consolas"
1455 configuration "AutoFlippingLabel"
1456 contentWidth 211.826171875
1457 contentHeight 18.0
1458 model "six_pos"
1459 position "thead"
1460 ]
1461 ]
1462 edge
1463 [
1464 source 7
1465 target 8
1466 label "target reference Transition"
1467 graphics
1468 [
1469 fill "#000000"
1470 targetArrow "standard"
1471 ]
1472 edgeAnchor
1473 [
1474 xSource 0.07591881667988142
1475 xTarget 0.056939112509911224
1476 ]
1477 LabelGraphics
1478 [
1479 text "target reference Transition"
1480 fontSize 14
1481 fontName "Consolas"
1482 configuration "AutoFlippingLabel"
1483 contentWidth 211.826171875
1484 contentHeight 18.0
1485 model "six_pos"
1486 position "thead"
1487 ]
1488 ]
1489 edge
1490 [
1491 source 9
1492 target 6
1493 label "target reference Transition"
1494 graphics
1495 [
1496 fill "#000000"
1497 targetArrow "standard"
1498 ]
1499 edgeAnchor
1500 [
1501 xSource 0.07230898048942265
1502 xTarget 0.05423173536706701
1503 ]
1504 LabelGraphics
1505 [
1506 text "target reference Transition"
1507 fontSize 14
1508 fontName "Consolas"
1509 configuration "AutoFlippingLabel"
1510 contentWidth 211.826171875
1511 contentHeight 18.0
1512 model "six_pos"
1513 position "thead"
1514 ]
1515 ]
1516 edge
1517 [
1518 source 10
1519 target 13
1520 label "target reference Transition"
1521 graphics
1522 [
1523 fill "#000000"
1524 targetArrow "standard"
1525 ]
1526 edgeAnchor
1527 [
1528 xSource 0.08538434233375643
1529 xTarget 0.06403825675031717
1530 ]
1531 LabelGraphics
1532 [
1533 text "target reference Transition"
1534 fontSize 14
1535 fontName "Consolas"
1536 configuration "AutoFlippingLabel"
1537 contentWidth 211.826171875
1538 contentHeight 18.0
1539 model "six_pos"
1540 position "thead"
1541 ]
1542 ]
1543 edge
1544 [
1545 source 11
1546 target 15
1547 label "target reference Transition"
1548 graphics
1549 [
1550 fill "#000000"
1551 targetArrow "standard"
1552 ]
1553 edgeAnchor
1554 [
1555 xSource 0.11120682879364265
1556 xTarget 0.0834051215952323
1557 ]
1558 LabelGraphics
1559 [
1560 text "target reference Transition"
1561 fontSize 14
1562 fontName "Consolas"
1563 configuration "AutoFlippingLabel"
1564 contentWidth 211.826171875
1565 contentHeight 18.0
1566 model "six_pos"
1567 position "thead"
1568 ]
1569 ]
1570 edge
1571 [
1572 source 12
1573 target 17
1574 label "target reference Transition"
1575 graphics
1576 [
1577 fill "#000000"
1578 targetArrow "standard"
1579 ]
1580 edgeAnchor
1581 [
1582 xSource 0.10023010894030451
1583 xTarget 0.07517258170522809
1584 ]
1585 LabelGraphics
1586 [
1587 text "target reference Transition"
1588 fontSize 14
1589 fontName "Consolas"
1590 configuration "AutoFlippingLabel"
1591 contentWidth 211.826171875
1592 contentHeight 18.0
1593 model "six_pos"
1594 position "thead"
1595 ]
1596 ]
1597 edge
1598 [
1599 source 14
1600 target 8
1601 label "target reference Transition"
1602 graphics
1603 [
1604 fill "#000000"
1605 targetArrow "standard"
1606 ]
1607 edgeAnchor
1608 [
1609 xSource -0.0762977295275961
1610 xTarget -0.05722329714569708
1611 ]
1612 LabelGraphics
1613 [
1614 text "target reference Transition"
1615 fontSize 14
1616 fontName "Consolas"
1617 configuration "AutoFlippingLabel"
1618 contentWidth 211.826171875
1619 contentHeight 18.0
1620 model "six_pos"
1621 position "thead"
1622 ]
1623 ]
1624 edge
1625 [
1626 source 16
1627 target 6
1628 label "target reference Transition"
1629 graphics
1630 [
1631 fill "#000000"
1632 targetArrow "standard"
1633 ]
1634 edgeAnchor
1635 [
1636 xSource -0.12312154342042972
1637 xTarget -0.09234115756532262
1638 ]
1639 LabelGraphics
1640 [
1641 text "target reference Transition"
1642 fontSize 14
1643 fontName "Consolas"
1644 configuration "AutoFlippingLabel"
1645 contentWidth 211.826171875
1646 contentHeight 18.0
1647 model "six_pos"
1648 position "thead"
1649 ]
1650 ]
1651 edge
1652 [
1653 source 5
1654 target 4
1655 label "source reference Transition"
1656 graphics
1657 [
1658 fill "#000000"
1659 targetArrow "standard"
1660 ]
1661 edgeAnchor
1662 [
1663 xSource 0.08713011406397665
1664 xTarget 0.08254431858692544
1665 ]
1666 LabelGraphics
1667 [
1668 text "source reference Transition"
1669 fontSize 14
1670 fontName "Consolas"
1671 configuration "AutoFlippingLabel"
1672 contentWidth 211.826171875
1673 contentHeight 18.0
1674 model "six_pos"
1675 position "thead"
1676 ]
1677 ]
1678 edge
1679 [
1680 source 7
1681 target 6
1682 label "source reference Transition"
1683 graphics
1684 [
1685 fill "#000000"
1686 targetArrow "standard"
1687 ]
1688 edgeAnchor
1689 [
1690 xSource 0.11038537141147287
1691 xTarget 0.08278902855860439
1692 ]
1693 LabelGraphics
1694 [
1695 text "source reference Transition"
1696 fontSize 14
1697 fontName "Consolas"
1698 configuration "AutoFlippingLabel"
1699 contentWidth 211.826171875
1700 contentHeight 18.0
1701 model "six_pos"
1702 position "thead"
1703 ]
1704 ]
1705 edge
1706 [
1707 source 9
1708 target 8
1709 label "source reference Transition"
1710 graphics
1711 [
1712 fill "#000000"
1713 targetArrow "standard"
1714 ]
1715 edgeAnchor
1716 [
1717 xSource 0.07668763691447301
1718 xTarget 0.05751572768585469
1719 ]
1720 LabelGraphics
1721 [
1722 text "source reference Transition"
1723 fontSize 14
1724 fontName "Consolas"
1725 configuration "AutoFlippingLabel"
1726 contentWidth 211.826171875
1727 contentHeight 18.0
1728 model "six_pos"
1729 position "thead"
1730 ]
1731 ]
1732 edge
1733 [
1734 source 10
1735 target 8
1736 label "source reference Transition"
1737 graphics
1738 [
1739 fill "#000000"
1740 targetArrow "standard"
1741 ]
1742 edgeAnchor
1743 [
1744 xSource 0.13591141027157425
1745 xTarget 0.10193355770368054
1746 ]
1747 LabelGraphics
1748 [
1749 text "source reference Transition"
1750 fontSize 14
1751 fontName "Consolas"
1752 configuration "AutoFlippingLabel"
1753 contentWidth 211.826171875
1754 contentHeight 18.0
1755 model "six_pos"
1756 position "thead"
1757 ]
1758 ]
1759 edge
1760 [
1761 source 11
1762 target 8
1763 label "source reference Transition"
1764 graphics
1765 [
1766 fill "#000000"
1767 targetArrow "standard"
1768 ]
1769 edgeAnchor
1770 [
1771 xSource -0.10203561056082977
1772 xTarget -0.07652670792062218
1773 ]
1774 LabelGraphics
1775 [
1776 text "source reference Transition"
1777 fontSize 14
1778 fontName "Consolas"
1779 configuration "AutoFlippingLabel"
1780 contentWidth 211.826171875
1781 contentHeight 18.0
1782 model "six_pos"
1783 position "thead"
1784 ]
1785 ]
1786 edge
1787 [
1788 source 12
1789 target 8
1790 label "source reference Transition"
1791 graphics
1792 [
1793 fill "#000000"
1794 targetArrow "standard"
1795 ]
1796 edgeAnchor
1797 [
1798 xSource 0.12091459302605259
1799 xTarget 0.0906859447695393
1800 ]
1801 LabelGraphics
1802 [
1803 text "source reference Transition"
1804 fontSize 14
1805 fontName "Consolas"
1806 configuration "AutoFlippingLabel"
1807 contentWidth 211.826171875
1808 contentHeight 18.0
1809 model "six_pos"
1810 position "thead"
1811 ]
1812 ]
1813 edge
1814 [
1815 source 14
1816 target 13
1817 label "source reference Transition"
1818 graphics
1819 [
1820 fill "#000000"
1821 targetArrow "standard"
1822 ]
1823 edgeAnchor
1824 [
1825 xSource -0.10321965914294329
1826 ySource -7.105427357601002E-16
1827 xTarget -0.07741474435720733
1828 ]
1829 LabelGraphics
1830 [
1831 text "source reference Transition"
1832 fontSize 14
1833 fontName "Consolas"
1834 configuration "AutoFlippingLabel"
1835 contentWidth 211.826171875
1836 contentHeight 18.0
1837 model "six_pos"
1838 position "thead"
1839 ]
1840 ]
1841 edge
1842 [
1843 source 16
1844 target 15
1845 label "source reference Transition"
1846 graphics
1847 [
1848 fill "#000000"
1849 targetArrow "standard"
1850 ]
1851 edgeAnchor
1852 [
1853 xSource 0.07918260654316284
1854 xTarget 0.059386954907372135
1855 ]
1856 LabelGraphics
1857 [
1858 text "source reference Transition"
1859 fontSize 14
1860 fontName "Consolas"
1861 configuration "AutoFlippingLabel"
1862 contentWidth 211.826171875
1863 contentHeight 18.0
1864 model "six_pos"
1865 position "thead"
1866 ]
1867 ]
1868 edge
1869 [
1870 source 2
1871 target 3
1872 label "regions reference CompositeElement"
1873 graphics
1874 [
1875 width 3
1876 fill "#000000"
1877 targetArrow "standard"
1878 ]
1879 LabelGraphics
1880 [
1881 text "regions reference CompositeElement"
1882 fontSize 14
1883 fontName "Consolas"
1884 configuration "AutoFlippingLabel"
1885 contentWidth 265.70703125
1886 contentHeight 18.0
1887 model "six_pos"
1888 position "thead"
1889 ]
1890 ]
1891]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelMODEL.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelMODEL.gml
new file mode 100644
index 00000000..31575ae8
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelMODEL.gml
@@ -0,0 +1,1562 @@
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 184.8
79 h 54
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 CompositeElement class
101 "
102 fontSize 14
103 fontName "Consolas"
104 alignment "left"
105 anchor "tl"
106 borderDistance 6
107 ]
108 ]
109
110 node
111 [
112 id 3
113 graphics
114 [
115 w 107.80000000000001
116 h 40
117 type "rectangle"
118 fill "#FFFFFF"
119 fill2 "#FFFFFF"
120 outline "#000000"
121 ]
122 LabelGraphics
123 [
124 text "null"
125 outline "#000000"
126 fill "#FFFFFF"
127 fontSize 16
128 fontName "Monospace"
129 autoSizePolicy "node_width"
130 anchor "t"
131 borderDistance 0.0
132 ]
133 LabelGraphics
134 [
135 text "
136 Region class
137 "
138 fontSize 14
139 fontName "Consolas"
140 alignment "left"
141 anchor "tl"
142 borderDistance 6
143 ]
144 ]
145
146 node
147 [
148 id 4
149 graphics
150 [
151 w 146.3
152 h 68
153 type "rectangle"
154 fill "#FFFFFF"
155 fill2 "#FFFFFF"
156 outline "#000000"
157 ]
158 LabelGraphics
159 [
160 text "null"
161 outline "#000000"
162 fill "#FFFFFF"
163 fontSize 16
164 fontName "Monospace"
165 autoSizePolicy "node_width"
166 anchor "t"
167 borderDistance 0.0
168 ]
169 LabelGraphics
170 [
171 text "
172 Pseudostate class
173 Vertex class
174 Entry class
175 "
176 fontSize 14
177 fontName "Consolas"
178 alignment "left"
179 anchor "tl"
180 borderDistance 6
181 ]
182 ]
183
184 node
185 [
186 id 5
187 graphics
188 [
189 w 138.60000000000002
190 h 40
191 type "rectangle"
192 fill "#FFFFFF"
193 fill2 "#FFFFFF"
194 outline "#000000"
195 ]
196 LabelGraphics
197 [
198 text "null"
199 outline "#000000"
200 fill "#FFFFFF"
201 fontSize 16
202 fontName "Monospace"
203 autoSizePolicy "node_width"
204 anchor "t"
205 borderDistance 0.0
206 ]
207 LabelGraphics
208 [
209 text "
210 Transition class
211 "
212 fontSize 14
213 fontName "Consolas"
214 alignment "left"
215 anchor "tl"
216 borderDistance 6
217 ]
218 ]
219
220 node
221 [
222 id 6
223 graphics
224 [
225 w 184.8
226 h 82
227 type "rectangle"
228 fill "#FFFFFF"
229 fill2 "#FFFFFF"
230 outline "#000000"
231 ]
232 LabelGraphics
233 [
234 text "null"
235 outline "#000000"
236 fill "#FFFFFF"
237 fontSize 16
238 fontName "Monospace"
239 autoSizePolicy "node_width"
240 anchor "t"
241 borderDistance 0.0
242 ]
243 LabelGraphics
244 [
245 text "
246 Vertex class
247 State class
248 RegularState class
249 CompositeElement class
250 "
251 fontSize 14
252 fontName "Consolas"
253 alignment "left"
254 anchor "tl"
255 borderDistance 6
256 ]
257 ]
258
259 node
260 [
261 id 7
262 graphics
263 [
264 w 138.60000000000002
265 h 40
266 type "rectangle"
267 fill "#FFFFFF"
268 fill2 "#FFFFFF"
269 outline "#000000"
270 ]
271 LabelGraphics
272 [
273 text "null"
274 outline "#000000"
275 fill "#FFFFFF"
276 fontSize 16
277 fontName "Monospace"
278 autoSizePolicy "node_width"
279 anchor "t"
280 borderDistance 0.0
281 ]
282 LabelGraphics
283 [
284 text "
285 Transition class
286 "
287 fontSize 14
288 fontName "Consolas"
289 alignment "left"
290 anchor "tl"
291 borderDistance 6
292 ]
293 ]
294
295 node
296 [
297 id 8
298 graphics
299 [
300 w 184.8
301 h 82
302 type "rectangle"
303 fill "#FFFFFF"
304 fill2 "#FFFFFF"
305 outline "#000000"
306 ]
307 LabelGraphics
308 [
309 text "null"
310 outline "#000000"
311 fill "#FFFFFF"
312 fontSize 16
313 fontName "Monospace"
314 autoSizePolicy "node_width"
315 anchor "t"
316 borderDistance 0.0
317 ]
318 LabelGraphics
319 [
320 text "
321 Vertex class
322 State class
323 RegularState class
324 CompositeElement class
325 "
326 fontSize 14
327 fontName "Consolas"
328 alignment "left"
329 anchor "tl"
330 borderDistance 6
331 ]
332 ]
333
334 node
335 [
336 id 9
337 graphics
338 [
339 w 138.60000000000002
340 h 40
341 type "rectangle"
342 fill "#FFFFFF"
343 fill2 "#FFFFFF"
344 outline "#000000"
345 ]
346 LabelGraphics
347 [
348 text "null"
349 outline "#000000"
350 fill "#FFFFFF"
351 fontSize 16
352 fontName "Monospace"
353 autoSizePolicy "node_width"
354 anchor "t"
355 borderDistance 0.0
356 ]
357 LabelGraphics
358 [
359 text "
360 Transition class
361 "
362 fontSize 14
363 fontName "Consolas"
364 alignment "left"
365 anchor "tl"
366 borderDistance 6
367 ]
368 ]
369
370 node
371 [
372 id 10
373 graphics
374 [
375 w 138.60000000000002
376 h 40
377 type "rectangle"
378 fill "#FFFFFF"
379 fill2 "#FFFFFF"
380 outline "#000000"
381 ]
382 LabelGraphics
383 [
384 text "null"
385 outline "#000000"
386 fill "#FFFFFF"
387 fontSize 16
388 fontName "Monospace"
389 autoSizePolicy "node_width"
390 anchor "t"
391 borderDistance 0.0
392 ]
393 LabelGraphics
394 [
395 text "
396 Transition class
397 "
398 fontSize 14
399 fontName "Consolas"
400 alignment "left"
401 anchor "tl"
402 borderDistance 6
403 ]
404 ]
405
406 node
407 [
408 id 11
409 graphics
410 [
411 w 138.60000000000002
412 h 40
413 type "rectangle"
414 fill "#FFFFFF"
415 fill2 "#FFFFFF"
416 outline "#000000"
417 ]
418 LabelGraphics
419 [
420 text "null"
421 outline "#000000"
422 fill "#FFFFFF"
423 fontSize 16
424 fontName "Monospace"
425 autoSizePolicy "node_width"
426 anchor "t"
427 borderDistance 0.0
428 ]
429 LabelGraphics
430 [
431 text "
432 Transition class
433 "
434 fontSize 14
435 fontName "Consolas"
436 alignment "left"
437 anchor "tl"
438 borderDistance 6
439 ]
440 ]
441
442 node
443 [
444 id 12
445 graphics
446 [
447 w 138.60000000000002
448 h 40
449 type "rectangle"
450 fill "#FFFFFF"
451 fill2 "#FFFFFF"
452 outline "#000000"
453 ]
454 LabelGraphics
455 [
456 text "null"
457 outline "#000000"
458 fill "#FFFFFF"
459 fontSize 16
460 fontName "Monospace"
461 autoSizePolicy "node_width"
462 anchor "t"
463 borderDistance 0.0
464 ]
465 LabelGraphics
466 [
467 text "
468 Transition class
469 "
470 fontSize 14
471 fontName "Consolas"
472 alignment "left"
473 anchor "tl"
474 borderDistance 6
475 ]
476 ]
477
478 node
479 [
480 id 13
481 graphics
482 [
483 w 184.8
484 h 82
485 type "rectangle"
486 fill "#FFFFFF"
487 fill2 "#FFFFFF"
488 outline "#000000"
489 ]
490 LabelGraphics
491 [
492 text "null"
493 outline "#000000"
494 fill "#FFFFFF"
495 fontSize 16
496 fontName "Monospace"
497 autoSizePolicy "node_width"
498 anchor "t"
499 borderDistance 0.0
500 ]
501 LabelGraphics
502 [
503 text "
504 Vertex class
505 State class
506 RegularState class
507 CompositeElement class
508 "
509 fontSize 14
510 fontName "Consolas"
511 alignment "left"
512 anchor "tl"
513 borderDistance 6
514 ]
515 ]
516
517 node
518 [
519 id 14
520 graphics
521 [
522 w 138.60000000000002
523 h 40
524 type "rectangle"
525 fill "#FFFFFF"
526 fill2 "#FFFFFF"
527 outline "#000000"
528 ]
529 LabelGraphics
530 [
531 text "null"
532 outline "#000000"
533 fill "#FFFFFF"
534 fontSize 16
535 fontName "Monospace"
536 autoSizePolicy "node_width"
537 anchor "t"
538 borderDistance 0.0
539 ]
540 LabelGraphics
541 [
542 text "
543 Transition class
544 "
545 fontSize 14
546 fontName "Consolas"
547 alignment "left"
548 anchor "tl"
549 borderDistance 6
550 ]
551 ]
552
553 node
554 [
555 id 15
556 graphics
557 [
558 w 184.8
559 h 82
560 type "rectangle"
561 fill "#FFFFFF"
562 fill2 "#FFFFFF"
563 outline "#000000"
564 ]
565 LabelGraphics
566 [
567 text "null"
568 outline "#000000"
569 fill "#FFFFFF"
570 fontSize 16
571 fontName "Monospace"
572 autoSizePolicy "node_width"
573 anchor "t"
574 borderDistance 0.0
575 ]
576 LabelGraphics
577 [
578 text "
579 Vertex class
580 State class
581 RegularState class
582 CompositeElement class
583 "
584 fontSize 14
585 fontName "Consolas"
586 alignment "left"
587 anchor "tl"
588 borderDistance 6
589 ]
590 ]
591
592 node
593 [
594 id 16
595 graphics
596 [
597 w 138.60000000000002
598 h 40
599 type "rectangle"
600 fill "#FFFFFF"
601 fill2 "#FFFFFF"
602 outline "#000000"
603 ]
604 LabelGraphics
605 [
606 text "null"
607 outline "#000000"
608 fill "#FFFFFF"
609 fontSize 16
610 fontName "Monospace"
611 autoSizePolicy "node_width"
612 anchor "t"
613 borderDistance 0.0
614 ]
615 LabelGraphics
616 [
617 text "
618 Transition class
619 "
620 fontSize 14
621 fontName "Consolas"
622 alignment "left"
623 anchor "tl"
624 borderDistance 6
625 ]
626 ]
627
628 node
629 [
630 id 17
631 graphics
632 [
633 w 184.8
634 h 82
635 type "rectangle"
636 fill "#FFFFFF"
637 fill2 "#FFFFFF"
638 outline "#000000"
639 ]
640 LabelGraphics
641 [
642 text "null"
643 outline "#000000"
644 fill "#FFFFFF"
645 fontSize 16
646 fontName "Monospace"
647 autoSizePolicy "node_width"
648 anchor "t"
649 borderDistance 0.0
650 ]
651 LabelGraphics
652 [
653 text "
654 Vertex class
655 State class
656 RegularState class
657 CompositeElement class
658 "
659 fontSize 14
660 fontName "Consolas"
661 alignment "left"
662 anchor "tl"
663 borderDistance 6
664 ]
665 ]
666
667 node
668 [
669 id 18
670 graphics
671 [
672 w 112.2
673 h 26
674 type "rectangle"
675 fill "#FFFFFF"
676 fill2 "#FFFFFF"
677 outline "#000000"
678 ]
679 LabelGraphics
680 [
681 text "New Integers"
682 outline "#000000"
683 fill "#FFFFFF"
684 fontSize 16
685 fontName "Monospace"
686 autoSizePolicy "node_width"
687 anchor "t"
688 borderDistance 0.0
689 ]
690 LabelGraphics
691 [
692 text "
693 "
694 fontSize 14
695 fontName "Consolas"
696 alignment "left"
697 anchor "tl"
698 borderDistance 6
699 ]
700 ]
701
702 node
703 [
704 id 19
705 graphics
706 [
707 w 85.80000000000001
708 h 26
709 type "rectangle"
710 fill "#FFFFFF"
711 fill2 "#FFFFFF"
712 outline "#000000"
713 ]
714 LabelGraphics
715 [
716 text "New Reals"
717 outline "#000000"
718 fill "#FFFFFF"
719 fontSize 16
720 fontName "Monospace"
721 autoSizePolicy "node_width"
722 anchor "t"
723 borderDistance 0.0
724 ]
725 LabelGraphics
726 [
727 text "
728 "
729 fontSize 14
730 fontName "Consolas"
731 alignment "left"
732 anchor "tl"
733 borderDistance 6
734 ]
735 ]
736
737 node
738 [
739 id 20
740 graphics
741 [
742 w 103.4
743 h 26
744 type "rectangle"
745 fill "#FFFFFF"
746 fill2 "#FFFFFF"
747 outline "#000000"
748 ]
749 LabelGraphics
750 [
751 text "New Strings"
752 outline "#000000"
753 fill "#FFFFFF"
754 fontSize 16
755 fontName "Monospace"
756 autoSizePolicy "node_width"
757 anchor "t"
758 borderDistance 0.0
759 ]
760 LabelGraphics
761 [
762 text "
763 "
764 fontSize 14
765 fontName "Consolas"
766 alignment "left"
767 anchor "tl"
768 borderDistance 6
769 ]
770 ]
771
772 node
773 [
774 id 21
775 graphics
776 [
777 w 103.4
778 h 26
779 type "rectangle"
780 fill "#FFFFFF"
781 fill2 "#FFFFFF"
782 outline "#000000"
783 ]
784 LabelGraphics
785 [
786 text "New Objects"
787 outline "#000000"
788 fill "#FFFFFF"
789 fontSize 16
790 fontName "Monospace"
791 autoSizePolicy "node_width"
792 anchor "t"
793 borderDistance 0.0
794 ]
795 LabelGraphics
796 [
797 text "
798 "
799 fontSize 14
800 fontName "Consolas"
801 alignment "left"
802 anchor "tl"
803 borderDistance 6
804 ]
805 ]
806 edge
807 [
808 source 6
809 target 5
810 graphics
811 [
812 fill "#000000"
813 targetArrow "standard"
814 ]
815 LabelGraphics
816 [
817 text "incomingTransitions reference Vertex"
818 fontSize 14
819 fontName "Consolas"
820 configuration "AutoFlippingLabel"
821 model "six_pos"
822 position "thead"
823 ]
824 ]
825 edge
826 [
827 source 6
828 target 9
829 graphics
830 [
831 fill "#000000"
832 targetArrow "standard"
833 ]
834 LabelGraphics
835 [
836 text "incomingTransitions reference Vertex"
837 fontSize 14
838 fontName "Consolas"
839 configuration "AutoFlippingLabel"
840 model "six_pos"
841 position "thead"
842 ]
843 ]
844 edge
845 [
846 source 6
847 target 16
848 graphics
849 [
850 fill "#000000"
851 targetArrow "standard"
852 ]
853 LabelGraphics
854 [
855 text "incomingTransitions reference Vertex"
856 fontSize 14
857 fontName "Consolas"
858 configuration "AutoFlippingLabel"
859 model "six_pos"
860 position "thead"
861 ]
862 ]
863 edge
864 [
865 source 8
866 target 7
867 graphics
868 [
869 fill "#000000"
870 targetArrow "standard"
871 ]
872 LabelGraphics
873 [
874 text "incomingTransitions reference Vertex"
875 fontSize 14
876 fontName "Consolas"
877 configuration "AutoFlippingLabel"
878 model "six_pos"
879 position "thead"
880 ]
881 ]
882 edge
883 [
884 source 8
885 target 14
886 graphics
887 [
888 fill "#000000"
889 targetArrow "standard"
890 ]
891 LabelGraphics
892 [
893 text "incomingTransitions reference Vertex"
894 fontSize 14
895 fontName "Consolas"
896 configuration "AutoFlippingLabel"
897 model "six_pos"
898 position "thead"
899 ]
900 ]
901 edge
902 [
903 source 13
904 target 10
905 graphics
906 [
907 fill "#000000"
908 targetArrow "standard"
909 ]
910 LabelGraphics
911 [
912 text "incomingTransitions reference Vertex"
913 fontSize 14
914 fontName "Consolas"
915 configuration "AutoFlippingLabel"
916 model "six_pos"
917 position "thead"
918 ]
919 ]
920 edge
921 [
922 source 15
923 target 11
924 graphics
925 [
926 fill "#000000"
927 targetArrow "standard"
928 ]
929 LabelGraphics
930 [
931 text "incomingTransitions reference Vertex"
932 fontSize 14
933 fontName "Consolas"
934 configuration "AutoFlippingLabel"
935 model "six_pos"
936 position "thead"
937 ]
938 ]
939 edge
940 [
941 source 17
942 target 12
943 graphics
944 [
945 fill "#000000"
946 targetArrow "standard"
947 ]
948 LabelGraphics
949 [
950 text "incomingTransitions reference Vertex"
951 fontSize 14
952 fontName "Consolas"
953 configuration "AutoFlippingLabel"
954 model "six_pos"
955 position "thead"
956 ]
957 ]
958 edge
959 [
960 source 4
961 target 5
962 graphics
963 [
964 fill "#000000"
965 width 3
966 targetArrow "standard"
967 ]
968 LabelGraphics
969 [
970 text "outgoingTransitions reference Vertex"
971 fontSize 14
972 fontName "Consolas"
973 configuration "AutoFlippingLabel"
974 model "six_pos"
975 position "thead"
976 ]
977 ]
978 edge
979 [
980 source 6
981 target 7
982 graphics
983 [
984 fill "#000000"
985 width 3
986 targetArrow "standard"
987 ]
988 LabelGraphics
989 [
990 text "outgoingTransitions reference Vertex"
991 fontSize 14
992 fontName "Consolas"
993 configuration "AutoFlippingLabel"
994 model "six_pos"
995 position "thead"
996 ]
997 ]
998 edge
999 [
1000 source 8
1001 target 9
1002 graphics
1003 [
1004 fill "#000000"
1005 width 3
1006 targetArrow "standard"
1007 ]
1008 LabelGraphics
1009 [
1010 text "outgoingTransitions reference Vertex"
1011 fontSize 14
1012 fontName "Consolas"
1013 configuration "AutoFlippingLabel"
1014 model "six_pos"
1015 position "thead"
1016 ]
1017 ]
1018 edge
1019 [
1020 source 8
1021 target 10
1022 graphics
1023 [
1024 fill "#000000"
1025 width 3
1026 targetArrow "standard"
1027 ]
1028 LabelGraphics
1029 [
1030 text "outgoingTransitions reference Vertex"
1031 fontSize 14
1032 fontName "Consolas"
1033 configuration "AutoFlippingLabel"
1034 model "six_pos"
1035 position "thead"
1036 ]
1037 ]
1038 edge
1039 [
1040 source 8
1041 target 11
1042 graphics
1043 [
1044 fill "#000000"
1045 width 3
1046 targetArrow "standard"
1047 ]
1048 LabelGraphics
1049 [
1050 text "outgoingTransitions reference Vertex"
1051 fontSize 14
1052 fontName "Consolas"
1053 configuration "AutoFlippingLabel"
1054 model "six_pos"
1055 position "thead"
1056 ]
1057 ]
1058 edge
1059 [
1060 source 8
1061 target 12
1062 graphics
1063 [
1064 fill "#000000"
1065 width 3
1066 targetArrow "standard"
1067 ]
1068 LabelGraphics
1069 [
1070 text "outgoingTransitions reference Vertex"
1071 fontSize 14
1072 fontName "Consolas"
1073 configuration "AutoFlippingLabel"
1074 model "six_pos"
1075 position "thead"
1076 ]
1077 ]
1078 edge
1079 [
1080 source 13
1081 target 14
1082 graphics
1083 [
1084 fill "#000000"
1085 width 3
1086 targetArrow "standard"
1087 ]
1088 LabelGraphics
1089 [
1090 text "outgoingTransitions reference Vertex"
1091 fontSize 14
1092 fontName "Consolas"
1093 configuration "AutoFlippingLabel"
1094 model "six_pos"
1095 position "thead"
1096 ]
1097 ]
1098 edge
1099 [
1100 source 15
1101 target 16
1102 graphics
1103 [
1104 fill "#000000"
1105 width 3
1106 targetArrow "standard"
1107 ]
1108 LabelGraphics
1109 [
1110 text "outgoingTransitions reference Vertex"
1111 fontSize 14
1112 fontName "Consolas"
1113 configuration "AutoFlippingLabel"
1114 model "six_pos"
1115 position "thead"
1116 ]
1117 ]
1118 edge
1119 [
1120 source 3
1121 target 4
1122 graphics
1123 [
1124 fill "#000000"
1125 width 3
1126 targetArrow "standard"
1127 ]
1128 LabelGraphics
1129 [
1130 text "vertices reference Region"
1131 fontSize 14
1132 fontName "Consolas"
1133 configuration "AutoFlippingLabel"
1134 model "six_pos"
1135 position "thead"
1136 ]
1137 ]
1138 edge
1139 [
1140 source 3
1141 target 6
1142 graphics
1143 [
1144 fill "#000000"
1145 width 3
1146 targetArrow "standard"
1147 ]
1148 LabelGraphics
1149 [
1150 text "vertices reference Region"
1151 fontSize 14
1152 fontName "Consolas"
1153 configuration "AutoFlippingLabel"
1154 model "six_pos"
1155 position "thead"
1156 ]
1157 ]
1158 edge
1159 [
1160 source 3
1161 target 8
1162 graphics
1163 [
1164 fill "#000000"
1165 width 3
1166 targetArrow "standard"
1167 ]
1168 LabelGraphics
1169 [
1170 text "vertices reference Region"
1171 fontSize 14
1172 fontName "Consolas"
1173 configuration "AutoFlippingLabel"
1174 model "six_pos"
1175 position "thead"
1176 ]
1177 ]
1178 edge
1179 [
1180 source 3
1181 target 13
1182 graphics
1183 [
1184 fill "#000000"
1185 width 3
1186 targetArrow "standard"
1187 ]
1188 LabelGraphics
1189 [
1190 text "vertices reference Region"
1191 fontSize 14
1192 fontName "Consolas"
1193 configuration "AutoFlippingLabel"
1194 model "six_pos"
1195 position "thead"
1196 ]
1197 ]
1198 edge
1199 [
1200 source 3
1201 target 15
1202 graphics
1203 [
1204 fill "#000000"
1205 width 3
1206 targetArrow "standard"
1207 ]
1208 LabelGraphics
1209 [
1210 text "vertices reference Region"
1211 fontSize 14
1212 fontName "Consolas"
1213 configuration "AutoFlippingLabel"
1214 model "six_pos"
1215 position "thead"
1216 ]
1217 ]
1218 edge
1219 [
1220 source 3
1221 target 17
1222 graphics
1223 [
1224 fill "#000000"
1225 width 3
1226 targetArrow "standard"
1227 ]
1228 LabelGraphics
1229 [
1230 text "vertices reference Region"
1231 fontSize 14
1232 fontName "Consolas"
1233 configuration "AutoFlippingLabel"
1234 model "six_pos"
1235 position "thead"
1236 ]
1237 ]
1238 edge
1239 [
1240 source 5
1241 target 6
1242 graphics
1243 [
1244 fill "#000000"
1245 targetArrow "standard"
1246 ]
1247 LabelGraphics
1248 [
1249 text "target reference Transition"
1250 fontSize 14
1251 fontName "Consolas"
1252 configuration "AutoFlippingLabel"
1253 model "six_pos"
1254 position "thead"
1255 ]
1256 ]
1257 edge
1258 [
1259 source 7
1260 target 8
1261 graphics
1262 [
1263 fill "#000000"
1264 targetArrow "standard"
1265 ]
1266 LabelGraphics
1267 [
1268 text "target reference Transition"
1269 fontSize 14
1270 fontName "Consolas"
1271 configuration "AutoFlippingLabel"
1272 model "six_pos"
1273 position "thead"
1274 ]
1275 ]
1276 edge
1277 [
1278 source 9
1279 target 6
1280 graphics
1281 [
1282 fill "#000000"
1283 targetArrow "standard"
1284 ]
1285 LabelGraphics
1286 [
1287 text "target reference Transition"
1288 fontSize 14
1289 fontName "Consolas"
1290 configuration "AutoFlippingLabel"
1291 model "six_pos"
1292 position "thead"
1293 ]
1294 ]
1295 edge
1296 [
1297 source 10
1298 target 13
1299 graphics
1300 [
1301 fill "#000000"
1302 targetArrow "standard"
1303 ]
1304 LabelGraphics
1305 [
1306 text "target reference Transition"
1307 fontSize 14
1308 fontName "Consolas"
1309 configuration "AutoFlippingLabel"
1310 model "six_pos"
1311 position "thead"
1312 ]
1313 ]
1314 edge
1315 [
1316 source 11
1317 target 15
1318 graphics
1319 [
1320 fill "#000000"
1321 targetArrow "standard"
1322 ]
1323 LabelGraphics
1324 [
1325 text "target reference Transition"
1326 fontSize 14
1327 fontName "Consolas"
1328 configuration "AutoFlippingLabel"
1329 model "six_pos"
1330 position "thead"
1331 ]
1332 ]
1333 edge
1334 [
1335 source 12
1336 target 17
1337 graphics
1338 [
1339 fill "#000000"
1340 targetArrow "standard"
1341 ]
1342 LabelGraphics
1343 [
1344 text "target reference Transition"
1345 fontSize 14
1346 fontName "Consolas"
1347 configuration "AutoFlippingLabel"
1348 model "six_pos"
1349 position "thead"
1350 ]
1351 ]
1352 edge
1353 [
1354 source 14
1355 target 8
1356 graphics
1357 [
1358 fill "#000000"
1359 targetArrow "standard"
1360 ]
1361 LabelGraphics
1362 [
1363 text "target reference Transition"
1364 fontSize 14
1365 fontName "Consolas"
1366 configuration "AutoFlippingLabel"
1367 model "six_pos"
1368 position "thead"
1369 ]
1370 ]
1371 edge
1372 [
1373 source 16
1374 target 6
1375 graphics
1376 [
1377 fill "#000000"
1378 targetArrow "standard"
1379 ]
1380 LabelGraphics
1381 [
1382 text "target reference Transition"
1383 fontSize 14
1384 fontName "Consolas"
1385 configuration "AutoFlippingLabel"
1386 model "six_pos"
1387 position "thead"
1388 ]
1389 ]
1390 edge
1391 [
1392 source 5
1393 target 4
1394 graphics
1395 [
1396 fill "#000000"
1397 targetArrow "standard"
1398 ]
1399 LabelGraphics
1400 [
1401 text "source reference Transition"
1402 fontSize 14
1403 fontName "Consolas"
1404 configuration "AutoFlippingLabel"
1405 model "six_pos"
1406 position "thead"
1407 ]
1408 ]
1409 edge
1410 [
1411 source 7
1412 target 6
1413 graphics
1414 [
1415 fill "#000000"
1416 targetArrow "standard"
1417 ]
1418 LabelGraphics
1419 [
1420 text "source reference Transition"
1421 fontSize 14
1422 fontName "Consolas"
1423 configuration "AutoFlippingLabel"
1424 model "six_pos"
1425 position "thead"
1426 ]
1427 ]
1428 edge
1429 [
1430 source 9
1431 target 8
1432 graphics
1433 [
1434 fill "#000000"
1435 targetArrow "standard"
1436 ]
1437 LabelGraphics
1438 [
1439 text "source reference Transition"
1440 fontSize 14
1441 fontName "Consolas"
1442 configuration "AutoFlippingLabel"
1443 model "six_pos"
1444 position "thead"
1445 ]
1446 ]
1447 edge
1448 [
1449 source 10
1450 target 8
1451 graphics
1452 [
1453 fill "#000000"
1454 targetArrow "standard"
1455 ]
1456 LabelGraphics
1457 [
1458 text "source reference Transition"
1459 fontSize 14
1460 fontName "Consolas"
1461 configuration "AutoFlippingLabel"
1462 model "six_pos"
1463 position "thead"
1464 ]
1465 ]
1466 edge
1467 [
1468 source 11
1469 target 8
1470 graphics
1471 [
1472 fill "#000000"
1473 targetArrow "standard"
1474 ]
1475 LabelGraphics
1476 [
1477 text "source reference Transition"
1478 fontSize 14
1479 fontName "Consolas"
1480 configuration "AutoFlippingLabel"
1481 model "six_pos"
1482 position "thead"
1483 ]
1484 ]
1485 edge
1486 [
1487 source 12
1488 target 8
1489 graphics
1490 [
1491 fill "#000000"
1492 targetArrow "standard"
1493 ]
1494 LabelGraphics
1495 [
1496 text "source reference Transition"
1497 fontSize 14
1498 fontName "Consolas"
1499 configuration "AutoFlippingLabel"
1500 model "six_pos"
1501 position "thead"
1502 ]
1503 ]
1504 edge
1505 [
1506 source 14
1507 target 13
1508 graphics
1509 [
1510 fill "#000000"
1511 targetArrow "standard"
1512 ]
1513 LabelGraphics
1514 [
1515 text "source reference Transition"
1516 fontSize 14
1517 fontName "Consolas"
1518 configuration "AutoFlippingLabel"
1519 model "six_pos"
1520 position "thead"
1521 ]
1522 ]
1523 edge
1524 [
1525 source 16
1526 target 15
1527 graphics
1528 [
1529 fill "#000000"
1530 targetArrow "standard"
1531 ]
1532 LabelGraphics
1533 [
1534 text "source reference Transition"
1535 fontSize 14
1536 fontName "Consolas"
1537 configuration "AutoFlippingLabel"
1538 model "six_pos"
1539 position "thead"
1540 ]
1541 ]
1542 edge
1543 [
1544 source 2
1545 target 3
1546 graphics
1547 [
1548 fill "#000000"
1549 width 3
1550 targetArrow "standard"
1551 ]
1552 LabelGraphics
1553 [
1554 text "regions reference CompositeElement"
1555 fontSize 14
1556 fontName "Consolas"
1557 configuration "AutoFlippingLabel"
1558 model "six_pos"
1559 position "thead"
1560 ]
1561 ]
1562]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLMODEL.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLMODEL.gml
new file mode 100644
index 00000000..aad12394
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLMODEL.gml
@@ -0,0 +1,696 @@
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 92.4
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 List 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 112.2
403 h 26
404 type "rectangle"
405 fill "#FFFFFF"
406 fill2 "#FFFFFF"
407 outline "#000000"
408 ]
409 LabelGraphics
410 [
411 text "New Integers"
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 "
424 fontSize 14
425 fontName "Consolas"
426 alignment "left"
427 anchor "tl"
428 borderDistance 6
429 ]
430 ]
431
432 node
433 [
434 id 12
435 graphics
436 [
437 w 85.80000000000001
438 h 26
439 type "rectangle"
440 fill "#FFFFFF"
441 fill2 "#FFFFFF"
442 outline "#000000"
443 ]
444 LabelGraphics
445 [
446 text "New Reals"
447 outline "#000000"
448 fill "#FFFFFF"
449 fontSize 16
450 fontName "Monospace"
451 autoSizePolicy "node_width"
452 anchor "t"
453 borderDistance 0.0
454 ]
455 LabelGraphics
456 [
457 text "
458 "
459 fontSize 14
460 fontName "Consolas"
461 alignment "left"
462 anchor "tl"
463 borderDistance 6
464 ]
465 ]
466
467 node
468 [
469 id 13
470 graphics
471 [
472 w 103.4
473 h 26
474 type "rectangle"
475 fill "#FFFFFF"
476 fill2 "#FFFFFF"
477 outline "#000000"
478 ]
479 LabelGraphics
480 [
481 text "New Strings"
482 outline "#000000"
483 fill "#FFFFFF"
484 fontSize 16
485 fontName "Monospace"
486 autoSizePolicy "node_width"
487 anchor "t"
488 borderDistance 0.0
489 ]
490 LabelGraphics
491 [
492 text "
493 "
494 fontSize 14
495 fontName "Consolas"
496 alignment "left"
497 anchor "tl"
498 borderDistance 6
499 ]
500 ]
501
502 node
503 [
504 id 14
505 graphics
506 [
507 w 103.4
508 h 26
509 type "rectangle"
510 fill "#FFFFFF"
511 fill2 "#FFFFFF"
512 outline "#000000"
513 ]
514 LabelGraphics
515 [
516 text "New Objects"
517 outline "#000000"
518 fill "#FFFFFF"
519 fontSize 16
520 fontName "Monospace"
521 autoSizePolicy "node_width"
522 anchor "t"
523 borderDistance 0.0
524 ]
525 LabelGraphics
526 [
527 text "
528 "
529 fontSize 14
530 fontName "Consolas"
531 alignment "left"
532 anchor "tl"
533 borderDistance 6
534 ]
535 ]
536 edge
537 [
538 source 2
539 target 3
540 graphics
541 [
542 fill "#000000"
543 width 3
544 targetArrow "standard"
545 ]
546 LabelGraphics
547 [
548 text "first reference List"
549 fontSize 14
550 fontName "Consolas"
551 configuration "AutoFlippingLabel"
552 model "six_pos"
553 position "thead"
554 ]
555 ]
556 edge
557 [
558 source 3
559 target 4
560 graphics
561 [
562 fill "#000000"
563 width 3
564 targetArrow "standard"
565 ]
566 LabelGraphics
567 [
568 text "value reference Element"
569 fontSize 14
570 fontName "Consolas"
571 configuration "AutoFlippingLabel"
572 model "six_pos"
573 position "thead"
574 ]
575 ]
576 edge
577 [
578 source 5
579 target 6
580 graphics
581 [
582 fill "#000000"
583 width 3
584 targetArrow "standard"
585 ]
586 LabelGraphics
587 [
588 text "value reference Element"
589 fontSize 14
590 fontName "Consolas"
591 configuration "AutoFlippingLabel"
592 model "six_pos"
593 position "thead"
594 ]
595 ]
596 edge
597 [
598 source 7
599 target 8
600 graphics
601 [
602 fill "#000000"
603 width 3
604 targetArrow "standard"
605 ]
606 LabelGraphics
607 [
608 text "value reference Element"
609 fontSize 14
610 fontName "Consolas"
611 configuration "AutoFlippingLabel"
612 model "six_pos"
613 position "thead"
614 ]
615 ]
616 edge
617 [
618 source 9
619 target 10
620 graphics
621 [
622 fill "#000000"
623 width 3
624 targetArrow "standard"
625 ]
626 LabelGraphics
627 [
628 text "value reference Element"
629 fontSize 14
630 fontName "Consolas"
631 configuration "AutoFlippingLabel"
632 model "six_pos"
633 position "thead"
634 ]
635 ]
636 edge
637 [
638 source 3
639 target 5
640 graphics
641 [
642 fill "#000000"
643 width 3
644 targetArrow "standard"
645 ]
646 LabelGraphics
647 [
648 text "next reference Element"
649 fontSize 14
650 fontName "Consolas"
651 configuration "AutoFlippingLabel"
652 model "six_pos"
653 position "thead"
654 ]
655 ]
656 edge
657 [
658 source 5
659 target 7
660 graphics
661 [
662 fill "#000000"
663 width 3
664 targetArrow "standard"
665 ]
666 LabelGraphics
667 [
668 text "next reference Element"
669 fontSize 14
670 fontName "Consolas"
671 configuration "AutoFlippingLabel"
672 model "six_pos"
673 position "thead"
674 ]
675 ]
676 edge
677 [
678 source 7
679 target 9
680 graphics
681 [
682 fill "#000000"
683 width 3
684 targetArrow "standard"
685 ]
686 LabelGraphics
687 [
688 text "next reference Element"
689 fontSize 14
690 fontName "Consolas"
691 configuration "AutoFlippingLabel"
692 model "six_pos"
693 position "thead"
694 ]
695 ]
696]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLNEIGHBOURHOOD.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLNEIGHBOURHOOD.gml
new file mode 100644
index 00000000..2ad22a58
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLNEIGHBOURHOOD.gml
@@ -0,0 +1,336 @@
1graph
2[
3 node
4 [
5 id 0
6 graphics
7 [
8 w 145.20000000000002
9 h 40
10 type "roundrectangle"
11 fill "#FFCC00"
12 outline "#000000"
13 ]
14 LabelGraphics
15 [
16 ]
17 LabelGraphics
18 [
19 text "[Object class] (4)"
20 fontSize 14
21 fontName "Dialog"
22 ]
23 ]
24 node
25 [
26 id 1
27 graphics
28 [
29 w 129.8
30 h 40
31 type "roundrectangle"
32 fill "#FFCC00"
33 outline "#000000"
34 ]
35 LabelGraphics
36 [
37 ]
38 LabelGraphics
39 [
40 text "[List class] (1)"
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] (1)"
83 fontSize 14
84 fontName "Dialog"
85 ]
86 ]
87 node
88 [
89 id 4
90 graphics
91 [
92 w 152.9
93 h 40
94 type "roundrectangle"
95 fill "#FFCC00"
96 outline "#000000"
97 ]
98 LabelGraphics
99 [
100 ]
101 LabelGraphics
102 [
103 text "[Element class] (2)"
104 fontSize 14
105 fontName "Dialog"
106 ]
107 ]
108 edge
109 [
110 source 1
111 target 2
112 label "first reference List"
113 graphics
114 [
115 fill "#000000"
116 targetArrow "standard"
117 ]
118 LabelGraphics
119 [
120 text "first reference List"
121 fontSize 12
122 fontName "Dialog"
123 configuration "AutoFlippingLabel"
124 model "six_pos"
125 position "head"
126 ]
127 LabelGraphics
128 [
129 text "[1]"
130 fontSize 12
131 fontName "Dialog"
132 configuration "AutoFlippingLabel"
133 model "six_pos"
134 position "stail"
135 ]
136 LabelGraphics
137 [
138 text "[1]"
139 fontSize 12
140 fontName "Dialog"
141 configuration "AutoFlippingLabel"
142 model "six_pos"
143 position "ttail"
144 ]
145 ]
146 edge
147 [
148 source 2
149 target 4
150 label "next reference Element"
151 graphics
152 [
153 fill "#000000"
154 targetArrow "standard"
155 ]
156 LabelGraphics
157 [
158 text "next reference Element"
159 fontSize 12
160 fontName "Dialog"
161 configuration "AutoFlippingLabel"
162 model "six_pos"
163 position "head"
164 ]
165 LabelGraphics
166 [
167 text "[1]"
168 fontSize 12
169 fontName "Dialog"
170 configuration "AutoFlippingLabel"
171 model "six_pos"
172 position "stail"
173 ]
174 LabelGraphics
175 [
176 text "[1, 0]"
177 fontSize 12
178 fontName "Dialog"
179 configuration "AutoFlippingLabel"
180 model "six_pos"
181 position "ttail"
182 ]
183 ]
184 edge
185 [
186 source 2
187 target 0
188 label "value reference Element"
189 graphics
190 [
191 fill "#000000"
192 targetArrow "standard"
193 ]
194 LabelGraphics
195 [
196 text "value reference Element"
197 fontSize 12
198 fontName "Dialog"
199 configuration "AutoFlippingLabel"
200 model "six_pos"
201 position "head"
202 ]
203 LabelGraphics
204 [
205 text "[1]"
206 fontSize 12
207 fontName "Dialog"
208 configuration "AutoFlippingLabel"
209 model "six_pos"
210 position "stail"
211 ]
212 LabelGraphics
213 [
214 text "[1, 0, 0]"
215 fontSize 12
216 fontName "Dialog"
217 configuration "AutoFlippingLabel"
218 model "six_pos"
219 position "ttail"
220 ]
221 ]
222 edge
223 [
224 source 3
225 target 0
226 label "value reference Element"
227 graphics
228 [
229 fill "#000000"
230 targetArrow "standard"
231 ]
232 LabelGraphics
233 [
234 text "value reference Element"
235 fontSize 12
236 fontName "Dialog"
237 configuration "AutoFlippingLabel"
238 model "six_pos"
239 position "head"
240 ]
241 LabelGraphics
242 [
243 text "[1]"
244 fontSize 12
245 fontName "Dialog"
246 configuration "AutoFlippingLabel"
247 model "six_pos"
248 position "stail"
249 ]
250 LabelGraphics
251 [
252 text "[1, 0, 0]"
253 fontSize 12
254 fontName "Dialog"
255 configuration "AutoFlippingLabel"
256 model "six_pos"
257 position "ttail"
258 ]
259 ]
260 edge
261 [
262 source 4
263 target 3
264 label "next reference Element"
265 graphics
266 [
267 fill "#000000"
268 targetArrow "standard"
269 ]
270 LabelGraphics
271 [
272 text "next reference Element"
273 fontSize 12
274 fontName "Dialog"
275 configuration "AutoFlippingLabel"
276 model "six_pos"
277 position "head"
278 ]
279 LabelGraphics
280 [
281 text "[1, 1]"
282 fontSize 12
283 fontName "Dialog"
284 configuration "AutoFlippingLabel"
285 model "six_pos"
286 position "stail"
287 ]
288 LabelGraphics
289 [
290 text "[1]"
291 fontSize 12
292 fontName "Dialog"
293 configuration "AutoFlippingLabel"
294 model "six_pos"
295 position "ttail"
296 ]
297 ]
298 edge
299 [
300 source 4
301 target 0
302 label "value reference Element"
303 graphics
304 [
305 fill "#000000"
306 targetArrow "standard"
307 ]
308 LabelGraphics
309 [
310 text "value reference Element"
311 fontSize 12
312 fontName "Dialog"
313 configuration "AutoFlippingLabel"
314 model "six_pos"
315 position "head"
316 ]
317 LabelGraphics
318 [
319 text "[1, 1]"
320 fontSize 12
321 fontName "Dialog"
322 configuration "AutoFlippingLabel"
323 model "six_pos"
324 position "stail"
325 ]
326 LabelGraphics
327 [
328 text "[1, 0, 0]"
329 fontSize 12
330 fontName "Dialog"
331 configuration "AutoFlippingLabel"
332 model "six_pos"
333 position "ttail"
334 ]
335 ]
336]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/unnames.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/unnames.gml
new file mode 100644
index 00000000..61ab66f5
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/unnames.gml
@@ -0,0 +1,90 @@
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 370.0
15 y 238.0
16 w 124.0
17 h 90.0
18 type "roundrectangle"
19 raisedBorder 0
20 fill "#FFCC00"
21 outline "#000000"
22 ]
23 LabelGraphics
24 [
25 ]
26 LabelGraphics
27 [
28 text "label1"
29 fontSize 12
30 fontName "Dialog"
31 anchor "c"
32 ]
33 ]
34 node
35 [
36 id 1
37 label ""
38 graphics
39 [
40 x 876.0
41 y 238.0
42 w 30.0
43 h 30.0
44 type "roundrectangle"
45 raisedBorder 0
46 fill "#FFCC00"
47 outline "#000000"
48 ]
49 LabelGraphics
50 [
51 ]
52 ]
53 edge
54 [
55 source 0
56 target 1
57 graphics
58 [
59 fill "#000000"
60 targetArrow "standard"
61 ]
62 LabelGraphics
63 [
64 text "name"
65 fontSize 12
66 fontName "Dialog"
67 configuration "AutoFlippingLabel"
68 model "six_pos"
69 position "tail"
70 ]
71 LabelGraphics
72 [
73 text "m1"
74 fontSize 12
75 fontName "Dialog"
76 configuration "AutoFlippingLabel"
77 model "six_pos"
78 position "stail"
79 ]
80 LabelGraphics
81 [
82 text "m2"
83 fontSize 12
84 fontName "Dialog"
85 configuration "AutoFlippingLabel"
86 model "six_pos"
87 position "ttail"
88 ]
89 ]
90]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.properties b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.properties
new file mode 100644
index 00000000..3f37fcde
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = Metrics
4providerName = www.example.org
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml
new file mode 100644
index 00000000..4dca04bb
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.0"?>
3
4<!--
5-->
6
7<plugin>
8
9 <extension point="org.eclipse.emf.ecore.generated_package">
10 <!-- @generated linkedList -->
11 <package
12 uri="llmm"
13 class="linkedList.LinkedListPackage"
14 genModel="resources/linkedList.genmodel"/>
15 </extension>
16
17</plugin>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.aird b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.aird
new file mode 100644
index 00000000..562f5dd4
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.aird
@@ -0,0 +1,201 @@
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="_nRAGMHipEem197kvRbawTQ" selectedViews="_nqgLUHipEem197kvRbawTQ _nqs_oHipEem197kvRbawTQ _nqvb4HipEem197kvRbawTQ _nq2JkHipEem197kvRbawTQ" version="14.1.0.201810161215">
4 <semanticResources>linkedList.ecore</semanticResources>
5 <ownedViews xmi:type="viewpoint:DView" uid="_nqgLUHipEem197kvRbawTQ">
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="_om3s8HipEem197kvRbawTQ" name="linkedList class diagram" repPath="#_olU00HipEem197kvRbawTQ">
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="linkedList.ecore#/"/>
10 </ownedRepresentationDescriptors>
11 </ownedViews>
12 <ownedViews xmi:type="viewpoint:DView" uid="_nqs_oHipEem197kvRbawTQ">
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="_nqvb4HipEem197kvRbawTQ">
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="_nq2JkHipEem197kvRbawTQ">
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="_olU00HipEem197kvRbawTQ" name="linkedList class diagram">
23 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_omw_QHipEem197kvRbawTQ" source="DANNOTATION_CUSTOMIZATION_KEY">
24 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_omxmUHipEem197kvRbawTQ">
25 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_xGuOIHipEem197kvRbawTQ" 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="_xGuOIXipEem197kvRbawTQ" showIcon="false" labelExpression="service:render">
28 <labelFormat>bold</labelFormat>
29 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
30 </centerLabelStyleDescription>
31 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_xGuOInipEem197kvRbawTQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
32 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
33 </endLabelStyleDescription>
34 </computedStyleDescriptions>
35 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_yGfCAHipEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan">
36 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
37 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_yGfCAXipEem197kvRbawTQ" showIcon="false" labelExpression="service:render">
38 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
39 </centerLabelStyleDescription>
40 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_yGfCAnipEem197kvRbawTQ" 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="_onn64HipEem197kvRbawTQ" source="GMF_DIAGRAMS">
47 <data xmi:type="notation:Diagram" xmi:id="_onoh8HipEem197kvRbawTQ" type="Sirius" element="_olU00HipEem197kvRbawTQ" measurementUnit="Pixel">
48 <children xmi:type="notation:Node" xmi:id="_pZAUgHipEem197kvRbawTQ" type="2003" element="_pYtZkHipEem197kvRbawTQ">
49 <children xmi:type="notation:Node" xmi:id="_pZBioHipEem197kvRbawTQ" type="5007"/>
50 <children xmi:type="notation:Node" xmi:id="_pZD-4HipEem197kvRbawTQ" type="7004">
51 <styles xmi:type="notation:SortingStyle" xmi:id="_pZD-4XipEem197kvRbawTQ"/>
52 <styles xmi:type="notation:FilteringStyle" xmi:id="_pZD-4nipEem197kvRbawTQ"/>
53 </children>
54 <styles xmi:type="notation:ShapeStyle" xmi:id="_pZAUgXipEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
55 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pZAUgnipEem197kvRbawTQ" x="300" y="84"/>
56 </children>
57 <children xmi:type="notation:Node" xmi:id="_pZEl8HipEem197kvRbawTQ" type="2003" element="_pY0uUHipEem197kvRbawTQ">
58 <children xmi:type="notation:Node" xmi:id="_pZEl83ipEem197kvRbawTQ" type="5007"/>
59 <children xmi:type="notation:Node" xmi:id="_pZEl9HipEem197kvRbawTQ" type="7004">
60 <styles xmi:type="notation:SortingStyle" xmi:id="_pZEl9XipEem197kvRbawTQ"/>
61 <styles xmi:type="notation:FilteringStyle" xmi:id="_pZEl9nipEem197kvRbawTQ"/>
62 </children>
63 <styles xmi:type="notation:ShapeStyle" xmi:id="_pZEl8XipEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
64 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pZEl8nipEem197kvRbawTQ" x="300" y="276"/>
65 </children>
66 <children xmi:type="notation:Node" xmi:id="_pZFNAHipEem197kvRbawTQ" type="2003" element="_pY18cHipEem197kvRbawTQ">
67 <children xmi:type="notation:Node" xmi:id="_pZFNA3ipEem197kvRbawTQ" type="5007"/>
68 <children xmi:type="notation:Node" xmi:id="_pZFNBHipEem197kvRbawTQ" type="7004">
69 <styles xmi:type="notation:SortingStyle" xmi:id="_pZFNBXipEem197kvRbawTQ"/>
70 <styles xmi:type="notation:FilteringStyle" xmi:id="_pZFNBnipEem197kvRbawTQ"/>
71 </children>
72 <styles xmi:type="notation:ShapeStyle" xmi:id="_pZFNAXipEem197kvRbawTQ" fontName="Segoe UI" fontHeight="8"/>
73 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pZFNAnipEem197kvRbawTQ" x="576" y="276"/>
74 </children>
75 <styles xmi:type="notation:DiagramStyle" xmi:id="_onoh8XipEem197kvRbawTQ"/>
76 <edges xmi:type="notation:Edge" xmi:id="_q1Ep4HipEem197kvRbawTQ" type="4001" element="_q00yQHipEem197kvRbawTQ" source="_pZAUgHipEem197kvRbawTQ" target="_pZEl8HipEem197kvRbawTQ">
77 <children xmi:type="notation:Node" xmi:id="_q1FQ8HipEem197kvRbawTQ" type="6001">
78 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q1FQ8XipEem197kvRbawTQ" x="29" y="-35"/>
79 </children>
80 <children xmi:type="notation:Node" xmi:id="_q1F4AHipEem197kvRbawTQ" type="6002">
81 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q1F4AXipEem197kvRbawTQ" y="-10"/>
82 </children>
83 <children xmi:type="notation:Node" xmi:id="_q1GfEHipEem197kvRbawTQ" type="6003">
84 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q1GfEXipEem197kvRbawTQ" x="1" y="-10"/>
85 </children>
86 <styles xmi:type="notation:ConnectorStyle" xmi:id="_q1Ep4XipEem197kvRbawTQ" routing="Rectilinear"/>
87 <styles xmi:type="notation:FontStyle" xmi:id="_q1Ep4nipEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
88 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q1Ep43ipEem197kvRbawTQ" points="[0, 0, 118, -192]$[-118, 0, 0, -192]"/>
89 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q1JiYHipEem197kvRbawTQ" id="(1.0,0.5)"/>
90 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q1KJcHipEem197kvRbawTQ" id="(0.0,0.5)"/>
91 </edges>
92 <edges xmi:type="notation:Edge" xmi:id="_ttIcIHipEem197kvRbawTQ" type="4001" element="_ttCVhnipEem197kvRbawTQ" source="_pZEl8HipEem197kvRbawTQ" target="_pZFNAHipEem197kvRbawTQ">
93 <children xmi:type="notation:Node" xmi:id="_ttIcJHipEem197kvRbawTQ" type="6001">
94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ttIcJXipEem197kvRbawTQ" y="-10"/>
95 </children>
96 <children xmi:type="notation:Node" xmi:id="_ttIcJnipEem197kvRbawTQ" type="6002">
97 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ttIcJ3ipEem197kvRbawTQ" y="10"/>
98 </children>
99 <children xmi:type="notation:Node" xmi:id="_ttIcKHipEem197kvRbawTQ" type="6003">
100 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ttIcKXipEem197kvRbawTQ" y="10"/>
101 </children>
102 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ttIcIXipEem197kvRbawTQ" routing="Rectilinear"/>
103 <styles xmi:type="notation:FontStyle" xmi:id="_ttIcInipEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
104 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ttIcI3ipEem197kvRbawTQ" points="[0, 0, -158, 0]$[158, 0, 0, 0]"/>
105 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttIcKnipEem197kvRbawTQ" id="(1.0,0.5)"/>
106 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ttIcK3ipEem197kvRbawTQ" id="(0.0,0.5)"/>
107 </edges>
108 <edges xmi:type="notation:Edge" xmi:id="_ynZWsHipEem197kvRbawTQ" type="4001" element="_ynSpBnipEem197kvRbawTQ" source="_pZEl8HipEem197kvRbawTQ" target="_pZEl8HipEem197kvRbawTQ">
109 <children xmi:type="notation:Node" xmi:id="_ynZWtHipEem197kvRbawTQ" type="6001">
110 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ynZWtXipEem197kvRbawTQ" x="26" y="26"/>
111 </children>
112 <children xmi:type="notation:Node" xmi:id="_ynZWtnipEem197kvRbawTQ" type="6002">
113 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ynZWt3ipEem197kvRbawTQ" x="-9" y="-4"/>
114 </children>
115 <children xmi:type="notation:Node" xmi:id="_ynZWuHipEem197kvRbawTQ" type="6003">
116 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ynZWuXipEem197kvRbawTQ" x="-15" y="-40"/>
117 </children>
118 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ynZWsXipEem197kvRbawTQ" routing="Rectilinear"/>
119 <styles xmi:type="notation:FontStyle" xmi:id="_ynZWsnipEem197kvRbawTQ" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
120 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ynZWs3ipEem197kvRbawTQ" points="[-118, 13, 0, 1]$[-142, 13, -24, 1]$[-142, 100, -24, 88]$[-29, 100, 89, 88]$[-29, 38, 89, 26]"/>
121 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ynZWunipEem197kvRbawTQ" id="(1.0,0.6122448979591837)"/>
122 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ynZWu3ipEem197kvRbawTQ" id="(0.0,0.7346938775510204)"/>
123 </edges>
124 </data>
125 </ownedAnnotationEntries>
126 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_pYtZkHipEem197kvRbawTQ" name="List" tooltipText="" outgoingEdges="_q00yQHipEem197kvRbawTQ" width="12" height="10">
127 <target xmi:type="ecore:EClass" href="linkedList.ecore#//List"/>
128 <semanticElements xmi:type="ecore:EClass" href="linkedList.ecore#//List"/>
129 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
130 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
131 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
132 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pYxrAHipEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
133 <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"/>
134 </ownedStyle>
135 <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']"/>
136 </ownedDiagramElements>
137 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_pY0uUHipEem197kvRbawTQ" name="Element" tooltipText="" outgoingEdges="_ttCVhnipEem197kvRbawTQ _ynSpBnipEem197kvRbawTQ" incomingEdges="_q00yQHipEem197kvRbawTQ _ynSpBnipEem197kvRbawTQ" width="12" height="10">
138 <target xmi:type="ecore:EClass" href="linkedList.ecore#//Element"/>
139 <semanticElements xmi:type="ecore:EClass" href="linkedList.ecore#//Element"/>
140 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
141 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
142 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
143 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pY1VYHipEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
144 <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"/>
145 </ownedStyle>
146 <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']"/>
147 </ownedDiagramElements>
148 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_pY18cHipEem197kvRbawTQ" name="Object" tooltipText="" incomingEdges="_ttCVhnipEem197kvRbawTQ" width="12" height="10">
149 <target xmi:type="ecore:EClass" href="linkedList.ecore#//Object"/>
150 <semanticElements xmi:type="ecore:EClass" href="linkedList.ecore#//Object"/>
151 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
152 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
153 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
154 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_pY18cXipEem197kvRbawTQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
155 <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"/>
156 </ownedStyle>
157 <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']"/>
158 </ownedDiagramElements>
159 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_q00yQHipEem197kvRbawTQ" name="[0..1] first" sourceNode="_pYtZkHipEem197kvRbawTQ" targetNode="_pY0uUHipEem197kvRbawTQ">
160 <target xmi:type="ecore:EReference" href="linkedList.ecore#//List/first"/>
161 <semanticElements xmi:type="ecore:EReference" href="linkedList.ecore#//List/first"/>
162 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_yGfCA3ipEem197kvRbawTQ" description="_yGfCAHipEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
163 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_yGfCBXipEem197kvRbawTQ" showIcon="false"/>
164 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_yGfCBHipEem197kvRbawTQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
165 </ownedStyle>
166 <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']"/>
167 </ownedDiagramElements>
168 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ttCVhnipEem197kvRbawTQ" name="[1..1] value" sourceNode="_pY0uUHipEem197kvRbawTQ" targetNode="_pY18cHipEem197kvRbawTQ">
169 <target xmi:type="ecore:EReference" href="linkedList.ecore#//Element/value"/>
170 <semanticElements xmi:type="ecore:EReference" href="linkedList.ecore#//Element/value"/>
171 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_xGuOI3ipEem197kvRbawTQ" description="_xGuOIHipEem197kvRbawTQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
172 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_xGuOJXipEem197kvRbawTQ" showIcon="false">
173 <labelFormat>bold</labelFormat>
174 </centerLabelStyle>
175 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_xGuOJHipEem197kvRbawTQ" labelSize="6" showIcon="false" labelColor="39,76,114"/>
176 </ownedStyle>
177 <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']"/>
178 </ownedDiagramElements>
179 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ynSpBnipEem197kvRbawTQ" name="[0..1] next" sourceNode="_pY0uUHipEem197kvRbawTQ" targetNode="_pY0uUHipEem197kvRbawTQ">
180 <target xmi:type="ecore:EReference" href="linkedList.ecore#//Element/next"/>
181 <semanticElements xmi:type="ecore:EReference" href="linkedList.ecore#//Element/next"/>
182 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ynTQEHipEem197kvRbawTQ" routingStyle="manhattan" strokeColor="0,0,0">
183 <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"/>
184 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ynTQEnipEem197kvRbawTQ" showIcon="false">
185 <customFeatures>labelSize</customFeatures>
186 </centerLabelStyle>
187 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ynTQEXipEem197kvRbawTQ" showIcon="false" labelColor="39,76,114">
188 <customFeatures>labelSize</customFeatures>
189 </endLabelStyle>
190 </ownedStyle>
191 <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']"/>
192 </ownedDiagramElements>
193 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
194 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_olxgwHipEem197kvRbawTQ"/>
195 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
196 <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']"/>
197 <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']"/>
198 <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']"/>
199 <target xmi:type="ecore:EPackage" href="linkedList.ecore#/"/>
200 </diagram:DSemanticDiagram>
201</xmi:XMI>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.ecore b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.ecore
new file mode 100644
index 00000000..e6389614
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.ecore
@@ -0,0 +1,15 @@
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="linkedList" nsURI="llmm" nsPrefix="LLMM">
4 <eClassifiers xsi:type="ecore:EClass" name="List">
5 <eStructuralFeatures xsi:type="ecore:EReference" name="first" eType="#//Element"
6 containment="true"/>
7 </eClassifiers>
8 <eClassifiers xsi:type="ecore:EClass" name="Element">
9 <eStructuralFeatures xsi:type="ecore:EReference" name="value" lowerBound="1" eType="#//Object"
10 containment="true"/>
11 <eStructuralFeatures xsi:type="ecore:EReference" name="next" eType="#//Element"
12 containment="true"/>
13 </eClassifiers>
14 <eClassifiers xsi:type="ecore:EClass" name="Object"/>
15</ecore:EPackage>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.genmodel b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.genmodel
new file mode 100644
index 00000000..51fffd52
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.genmodel
@@ -0,0 +1,18 @@
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="LinkedList"
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>linkedList.ecore</foreignModel>
8 <genPackages prefix="LinkedList" disposableProviderFactory="true" ecorePackage="linkedList.ecore#/">
9 <genClasses ecoreClass="linkedList.ecore#//List">
10 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference linkedList.ecore#//List/first"/>
11 </genClasses>
12 <genClasses ecoreClass="linkedList.ecore#//Element">
13 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference linkedList.ecore#//Element/value"/>
14 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference linkedList.ecore#//Element/next"/>
15 </genClasses>
16 <genClasses ecoreClass="linkedList.ecore#//Object"/>
17 </genPackages>
18</genmodel:GenModel>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/realisticModel.xmi b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/realisticModel.xmi
new file mode 100644
index 00000000..534191a3
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/realisticModel.xmi
@@ -0,0 +1,48 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<hu.bme.mit.inf.yakindumm: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:hu.bme.mit.inf.yakindumm="hu.bme.mit.inf.yakindumm"
7 xsi:schemaLocation="hu.bme.mit.inf.yakindumm ../../hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph/model/yakindu_simplified.ecore">
8 <regions>
9 <vertices
10 xsi:type="hu.bme.mit.inf.yakindumm:Entry">
11 <outgoingTransitions
12 target="//@regions.0/@vertices.1"/>
13 </vertices>
14 <vertices
15 xsi:type="hu.bme.mit.inf.yakindumm:State"
16 incomingTransitions="//@regions.0/@vertices.0/@outgoingTransitions.0 //@regions.0/@vertices.2/@outgoingTransitions.0 //@regions.0/@vertices.4/@outgoingTransitions.0">
17 <outgoingTransitions
18 target="//@regions.0/@vertices.2"/>
19 </vertices>
20 <vertices
21 xsi:type="hu.bme.mit.inf.yakindumm:State"
22 incomingTransitions="//@regions.0/@vertices.1/@outgoingTransitions.0 //@regions.0/@vertices.3/@outgoingTransitions.0">
23 <outgoingTransitions
24 target="//@regions.0/@vertices.1"/>
25 <outgoingTransitions
26 target="//@regions.0/@vertices.3"/>
27 <outgoingTransitions
28 target="//@regions.0/@vertices.4"/>
29 <outgoingTransitions
30 target="//@regions.0/@vertices.5"/>
31 </vertices>
32 <vertices
33 xsi:type="hu.bme.mit.inf.yakindumm:State"
34 incomingTransitions="//@regions.0/@vertices.2/@outgoingTransitions.1">
35 <outgoingTransitions
36 target="//@regions.0/@vertices.2"/>
37 </vertices>
38 <vertices
39 xsi:type="hu.bme.mit.inf.yakindumm:State"
40 incomingTransitions="//@regions.0/@vertices.2/@outgoingTransitions.2">
41 <outgoingTransitions
42 target="//@regions.0/@vertices.1"/>
43 </vertices>
44 <vertices
45 xsi:type="hu.bme.mit.inf.yakindumm:State"
46 incomingTransitions="//@regions.0/@vertices.2/@outgoingTransitions.3"/>
47 </regions>
48</hu.bme.mit.inf.yakindumm:Statechart>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleLL.xmi b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleLL.xmi
new file mode 100644
index 00000000..34f34682
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleLL.xmi
@@ -0,0 +1,19 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<LLMM:List xmi:version="2.0"
3 xmlns:xmi="http://www.omg.org/XMI"
4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5 xmlns:LLMM="llmm"
6 xsi:schemaLocation="llmm linkedList.ecore">
7 <first>
8 <value/>
9 <next>
10 <value/>
11 <next>
12 <value/>
13 <next>
14 <value/>
15 </next>
16 </next>
17 </next>
18 </first>
19</LLMM:List>
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.gml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.gml
new file mode 100644
index 00000000..1014385b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.gml
@@ -0,0 +1,121 @@
1Creator "yFiles"
2Version "2.16"
3graph
4[
5 hierarchic 1
6 label ""
7 directed 1
8 node
9 [
10 id 0
11 label "Statechart"
12 graphics
13 [
14 x 313.5
15 y 225.0
16 w 81.0
17 h 32.0
18 type "roundrectangle"
19 raisedBorder 0
20 fill "#FFCC00"
21 outline "#000000"
22 ]
23 LabelGraphics
24 [
25 text "Statechart"
26 fontSize 12
27 fontName "Dialog"
28 anchor "c"
29 ]
30 ]
31 node
32 [
33 id 1
34 label "Region0"
35 graphics
36 [
37 x -31.5
38 y 207.5
39 w 55.5
40 h 32.0
41 type "roundrectangle"
42 raisedBorder 0
43 fill "#FFCC00"
44 outline "#000000"
45 ]
46 LabelGraphics
47 [
48 text "Region0"
49 fontSize 12
50 fontName "Dialog"
51 anchor "c"
52 ]
53 ]
54 node
55 [
56 id 2
57 label "Region0"
58 graphics
59 [
60 x 313.5
61 y 440.0
62 w 55.5
63 h 32.0
64 type "roundrectangle"
65 raisedBorder 0
66 fill "#FFCC00"
67 outline "#000000"
68 ]
69 LabelGraphics
70 [
71 text "Region0"
72 fontSize 12
73 fontName "Dialog"
74 anchor "c"
75 ]
76 ]
77 edge
78 [
79 source 1
80 target 0
81 label "RefName"
82 graphics
83 [
84 fill "#000000"
85 targetArrow "standard"
86 ]
87 LabelGraphics
88 [
89 text "RefName"
90 fontSize 12
91 fontName "Dialog"
92 configuration "AutoFlippingLabel"
93 contentWidth 54.68359375
94 contentHeight 18.701171875
95 model "six_pos"
96 position "head"
97 ]
98 LabelGraphics
99 [
100 text "[2,3]"
101 fontSize 12
102 fontName "Dialog"
103 configuration "AutoFlippingLabel"
104 contentWidth 27.349609375
105 contentHeight 18.701171875
106 model "six_pos"
107 position "ttail"
108 ]
109 LabelGraphics
110 [
111 text "[0,1]"
112 fontSize 12
113 fontName "Dialog"
114 configuration "AutoFlippingLabel"
115 contentWidth 27.349609375
116 contentHeight 18.701171875
117 model "six_pos"
118 position "stail"
119 ]
120 ]
121]
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.graphml b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.graphml
new file mode 100644
index 00000000..c596324b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.graphml
@@ -0,0 +1,69 @@
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3 <!--Created by yEd 3.19-->
4 <key for="port" id="d0" yfiles.type="portgraphics"/>
5 <key for="port" id="d1" yfiles.type="portgeometry"/>
6 <key for="port" id="d2" yfiles.type="portuserdata"/>
7 <key attr.name="url" attr.type="string" for="node" id="d3"/>
8 <key attr.name="description" attr.type="string" for="node" id="d4"/>
9 <key for="node" id="d5" yfiles.type="nodegraphics"/>
10 <key for="graphml" id="d6" yfiles.type="resources"/>
11 <key attr.name="url" attr.type="string" for="edge" id="d7"/>
12 <key attr.name="description" attr.type="string" for="edge" id="d8"/>
13 <key for="edge" id="d9" yfiles.type="edgegraphics"/>
14 <graph edgedefault="directed" id="G">
15 <node id="n0">
16 <data key="d4"/>
17 <data key="d5">
18 <y:ShapeNode>
19 <y:Geometry height="32.0" width="81.0" x="273.0" y="209.0"/>
20 <y:Fill color="#FFCC00" transparent="false"/>
21 <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
22 <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="c" textColor="#000000" verticalTextPosition="bottom" visible="true" width="58.697265625" x="11.1513671875" xml:space="preserve" y="6.6494140625">Statechart</y:NodeLabel>
23 <y:Shape type="roundrectangle"/>
24 </y:ShapeNode>
25 </data>
26 </node>
27 <node id="n1">
28 <data key="d4"/>
29 <data key="d5">
30 <y:ShapeNode>
31 <y:Geometry height="32.0" width="55.5" x="57.75" y="209.0"/>
32 <y:Fill color="#FFCC00" transparent="false"/>
33 <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
34 <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="c" textColor="#000000" verticalTextPosition="bottom" visible="true" width="48.701171875" x="3.3994140625" xml:space="preserve" y="6.6494140625">Region0</y:NodeLabel>
35 <y:Shape type="roundrectangle"/>
36 </y:ShapeNode>
37 </data>
38 </node>
39 <node id="n2">
40 <data key="d4"/>
41 <data key="d5">
42 <y:ShapeNode>
43 <y:Geometry height="32.0" width="55.5" x="285.75" y="424.0"/>
44 <y:Fill color="#FFCC00" transparent="false"/>
45 <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
46 <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="c" textColor="#000000" verticalTextPosition="bottom" visible="true" width="48.701171875" x="3.3994140625" xml:space="preserve" y="6.6494140625">Region0</y:NodeLabel>
47 <y:Shape type="roundrectangle"/>
48 </y:ShapeNode>
49 </data>
50 </node>
51 <edge id="e0" source="n1" target="n0">
52 <data key="d8"/>
53 <data key="d9">
54 <y:PolyLineEdge>
55 <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
56 <y:LineStyle color="#000000" type="line" width="1.0"/>
57 <y:Arrows source="none" target="standard"/>
58 <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="six_pos" modelPosition="head" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="54.68359375" x="52.53466796875" xml:space="preserve" y="-20.701171875">RefName<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
59 <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="six_pos" modelPosition="stail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="27.349609375" x="10.12646484375" xml:space="preserve" y="2.0">[2,3]<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
60 <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" horizontalTextPosition="center" iconTextGap="4" modelName="six_pos" modelPosition="ttail" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="27.349609375" x="122.27685546875" xml:space="preserve" y="2.0">[0,1]<y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
61 <y:BendStyle smoothed="false"/>
62 </y:PolyLineEdge>
63 </data>
64 </edge>
65 </graph>
66 <data key="d6">
67 <y:Resources/>
68 </data>
69</graphml>
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
new file mode 100644
index 00000000..8dd16090
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend
@@ -0,0 +1,76 @@
1package ca.mcgill.ecse.dslreasoner.realistic.metrics.examples
2
3import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage
4import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic
5import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration
6import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor
7import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation
8import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice
9import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml
10import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace
11import java.util.Collections
12import org.eclipse.emf.ecore.EClass
13import org.eclipse.emf.ecore.EEnum
14import org.eclipse.emf.ecore.EObject
15import org.eclipse.emf.ecore.resource.Resource
16import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
17import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine
18import java.io.PrintWriter
19import linkedList.LinkedListPackage
20import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml
21
22class CSERposterSample {
23 static val partialInterpretation2Logic = new InstanceModel2PartialInterpretation
24 static val neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice
25 static val Ecore2Logic ecore2Logic = new Ecore2Logic
26 static val partialVisualizer = new PartialInterpretation2Gml
27 static val neighbourhoodVisualizer = new Neighbourhood2Gml
28 static val depth = 1
29
30 def static void main(String[] args) {
31 Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("*", new XMIResourceFactoryImpl)
32 YakindummPackage.eINSTANCE.eClass
33 LinkedListPackage.eINSTANCE.eClass
34 ReteEngine.getClass
35
36 val outputs = "outputs"
37 val instModName = "realisticModel"
38 val workspace = new FileSystemWorkspace('''resources''', "")
39 val model = workspace.readModel(EObject, instModName+".xmi")
40
41 val pckg = model.eClass.EPackage
42 val metamodel = new EcoreMetamodelDescriptor(
43 pckg.EClassifiers.filter(EClass).toList,
44 Collections::emptySet,
45 false,
46 pckg.EClassifiers.filter(EEnum).toList,
47 pckg.EClassifiers.filter(EEnum).map[ELiterals].flatten.toList,
48 pckg.EClassifiers.filter(EClass).map[EReferences].flatten.toList,
49 pckg.EClassifiers.filter(EClass).map[EAttributes].flatten.toList
50 )
51 val metamodelTransformationOutput = ecore2Logic.transformMetamodel(metamodel, new Ecore2LogicConfiguration)
52
53 val partialModelOutput = partialInterpretation2Logic.transform(metamodelTransformationOutput, model.eResource, false)
54
55 val writer = new PrintWriter(outputs+"//"+instModName+"MODEL.gml")
56
57 writer.print(partialVisualizer.transform(partialModelOutput))
58
59 writer.close
60
61 val hood = neighbourhoodComputer.createRepresentation(partialModelOutput, depth, Integer.MAX_VALUE, Integer.MAX_VALUE)
62
63 val w2 = new PrintWriter(outputs+"/"+instModName+"NEIGHBOURHOOD.gml")
64
65 w2.print(neighbourhoodVisualizer.transform(hood, partialModelOutput))
66
67 w2.close
68
69 println("visualization done")
70
71// partialModelOutput.openWorldElements
72 //RESULTS
73// print(hood)
74
75 }
76}
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Element.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Element.java
new file mode 100644
index 00000000..463523f0
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Element.java
@@ -0,0 +1,77 @@
1/**
2 */
3package linkedList;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Element</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link linkedList.Element#getValue <em>Value</em>}</li>
17 * <li>{@link linkedList.Element#getNext <em>Next</em>}</li>
18 * </ul>
19 *
20 * @see linkedList.LinkedListPackage#getElement()
21 * @model
22 * @generated
23 */
24public interface Element extends EObject {
25 /**
26 * Returns the value of the '<em><b>Value</b></em>' containment reference.
27 * <!-- begin-user-doc -->
28 * <p>
29 * If the meaning of the '<em>Value</em>' containment reference isn't clear,
30 * there really should be more of a description here...
31 * </p>
32 * <!-- end-user-doc -->
33 * @return the value of the '<em>Value</em>' containment reference.
34 * @see #setValue(linkedList.Object)
35 * @see linkedList.LinkedListPackage#getElement_Value()
36 * @model containment="true" required="true"
37 * @generated
38 */
39 linkedList.Object getValue();
40
41 /**
42 * Sets the value of the '{@link linkedList.Element#getValue <em>Value</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @param value the new value of the '<em>Value</em>' containment reference.
46 * @see #getValue()
47 * @generated
48 */
49 void setValue(linkedList.Object value);
50
51 /**
52 * Returns the value of the '<em><b>Next</b></em>' containment reference.
53 * <!-- begin-user-doc -->
54 * <p>
55 * If the meaning of the '<em>Next</em>' reference isn't clear,
56 * there really should be more of a description here...
57 * </p>
58 * <!-- end-user-doc -->
59 * @return the value of the '<em>Next</em>' containment reference.
60 * @see #setNext(Element)
61 * @see linkedList.LinkedListPackage#getElement_Next()
62 * @model containment="true"
63 * @generated
64 */
65 Element getNext();
66
67 /**
68 * Sets the value of the '{@link linkedList.Element#getNext <em>Next</em>}' containment reference.
69 * <!-- begin-user-doc -->
70 * <!-- end-user-doc -->
71 * @param value the new value of the '<em>Next</em>' containment reference.
72 * @see #getNext()
73 * @generated
74 */
75 void setNext(Element value);
76
77} // Element
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListFactory.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListFactory.java
new file mode 100644
index 00000000..8ef9cd8d
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListFactory.java
@@ -0,0 +1,60 @@
1/**
2 */
3package linkedList;
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 linkedList.LinkedListPackage
13 * @generated
14 */
15public interface LinkedListFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 LinkedListFactory eINSTANCE = linkedList.impl.LinkedListFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>List</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>List</em>'.
29 * @generated
30 */
31 List createList();
32
33 /**
34 * Returns a new object of class '<em>Element</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Element</em>'.
38 * @generated
39 */
40 Element createElement();
41
42 /**
43 * Returns a new object of class '<em>Object</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Object</em>'.
47 * @generated
48 */
49 Object createObject();
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 LinkedListPackage getLinkedListPackage();
59
60} //LinkedListFactory
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListPackage.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListPackage.java
new file mode 100644
index 00000000..06a47d87
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListPackage.java
@@ -0,0 +1,312 @@
1/**
2 */
3package linkedList;
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 linkedList.LinkedListFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface LinkedListPackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "linkedList";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "llmm";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "LLMM";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 LinkedListPackage eINSTANCE = linkedList.impl.LinkedListPackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link linkedList.impl.ListImpl <em>List</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see linkedList.impl.ListImpl
63 * @see linkedList.impl.LinkedListPackageImpl#getList()
64 * @generated
65 */
66 int LIST = 0;
67
68 /**
69 * The feature id for the '<em><b>First</b></em>' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int LIST__FIRST = 0;
76
77 /**
78 * The number of structural features of the '<em>List</em>' class.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int LIST_FEATURE_COUNT = 1;
85
86 /**
87 * The number of operations of the '<em>List</em>' class.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int LIST_OPERATION_COUNT = 0;
94
95 /**
96 * The meta object id for the '{@link linkedList.impl.ElementImpl <em>Element</em>}' class.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @see linkedList.impl.ElementImpl
100 * @see linkedList.impl.LinkedListPackageImpl#getElement()
101 * @generated
102 */
103 int ELEMENT = 1;
104
105 /**
106 * The feature id for the '<em><b>Value</b></em>' containment reference.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 * @ordered
111 */
112 int ELEMENT__VALUE = 0;
113
114 /**
115 * The feature id for the '<em><b>Next</b></em>' containment reference.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int ELEMENT__NEXT = 1;
122
123 /**
124 * The number of structural features of the '<em>Element</em>' class.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int ELEMENT_FEATURE_COUNT = 2;
131
132 /**
133 * The number of operations of the '<em>Element</em>' class.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 * @ordered
138 */
139 int ELEMENT_OPERATION_COUNT = 0;
140
141 /**
142 * The meta object id for the '{@link linkedList.impl.ObjectImpl <em>Object</em>}' class.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @see linkedList.impl.ObjectImpl
146 * @see linkedList.impl.LinkedListPackageImpl#getObject()
147 * @generated
148 */
149 int OBJECT = 2;
150
151 /**
152 * The number of structural features of the '<em>Object</em>' class.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @generated
156 * @ordered
157 */
158 int OBJECT_FEATURE_COUNT = 0;
159
160 /**
161 * The number of operations of the '<em>Object</em>' class.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int OBJECT_OPERATION_COUNT = 0;
168
169
170 /**
171 * Returns the meta object for class '{@link linkedList.List <em>List</em>}'.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @return the meta object for class '<em>List</em>'.
175 * @see linkedList.List
176 * @generated
177 */
178 EClass getList();
179
180 /**
181 * Returns the meta object for the containment reference '{@link linkedList.List#getFirst <em>First</em>}'.
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @return the meta object for the containment reference '<em>First</em>'.
185 * @see linkedList.List#getFirst()
186 * @see #getList()
187 * @generated
188 */
189 EReference getList_First();
190
191 /**
192 * Returns the meta object for class '{@link linkedList.Element <em>Element</em>}'.
193 * <!-- begin-user-doc -->
194 * <!-- end-user-doc -->
195 * @return the meta object for class '<em>Element</em>'.
196 * @see linkedList.Element
197 * @generated
198 */
199 EClass getElement();
200
201 /**
202 * Returns the meta object for the containment reference '{@link linkedList.Element#getValue <em>Value</em>}'.
203 * <!-- begin-user-doc -->
204 * <!-- end-user-doc -->
205 * @return the meta object for the containment reference '<em>Value</em>'.
206 * @see linkedList.Element#getValue()
207 * @see #getElement()
208 * @generated
209 */
210 EReference getElement_Value();
211
212 /**
213 * Returns the meta object for the containment reference '{@link linkedList.Element#getNext <em>Next</em>}'.
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @return the meta object for the containment reference '<em>Next</em>'.
217 * @see linkedList.Element#getNext()
218 * @see #getElement()
219 * @generated
220 */
221 EReference getElement_Next();
222
223 /**
224 * Returns the meta object for class '{@link linkedList.Object <em>Object</em>}'.
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @return the meta object for class '<em>Object</em>'.
228 * @see linkedList.Object
229 * @generated
230 */
231 EClass getObject();
232
233 /**
234 * Returns the factory that creates the instances of the model.
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @return the factory that creates the instances of the model.
238 * @generated
239 */
240 LinkedListFactory getLinkedListFactory();
241
242 /**
243 * <!-- begin-user-doc -->
244 * Defines literals for the meta objects that represent
245 * <ul>
246 * <li>each class,</li>
247 * <li>each feature of each class,</li>
248 * <li>each operation of each class,</li>
249 * <li>each enum,</li>
250 * <li>and each data type</li>
251 * </ul>
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 interface Literals {
256 /**
257 * The meta object literal for the '{@link linkedList.impl.ListImpl <em>List</em>}' class.
258 * <!-- begin-user-doc -->
259 * <!-- end-user-doc -->
260 * @see linkedList.impl.ListImpl
261 * @see linkedList.impl.LinkedListPackageImpl#getList()
262 * @generated
263 */
264 EClass LIST = eINSTANCE.getList();
265
266 /**
267 * The meta object literal for the '<em><b>First</b></em>' containment reference feature.
268 * <!-- begin-user-doc -->
269 * <!-- end-user-doc -->
270 * @generated
271 */
272 EReference LIST__FIRST = eINSTANCE.getList_First();
273
274 /**
275 * The meta object literal for the '{@link linkedList.impl.ElementImpl <em>Element</em>}' class.
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @see linkedList.impl.ElementImpl
279 * @see linkedList.impl.LinkedListPackageImpl#getElement()
280 * @generated
281 */
282 EClass ELEMENT = eINSTANCE.getElement();
283
284 /**
285 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 EReference ELEMENT__VALUE = eINSTANCE.getElement_Value();
291
292 /**
293 * The meta object literal for the '<em><b>Next</b></em>' containment reference feature.
294 * <!-- begin-user-doc -->
295 * <!-- end-user-doc -->
296 * @generated
297 */
298 EReference ELEMENT__NEXT = eINSTANCE.getElement_Next();
299
300 /**
301 * The meta object literal for the '{@link linkedList.impl.ObjectImpl <em>Object</em>}' class.
302 * <!-- begin-user-doc -->
303 * <!-- end-user-doc -->
304 * @see linkedList.impl.ObjectImpl
305 * @see linkedList.impl.LinkedListPackageImpl#getObject()
306 * @generated
307 */
308 EClass OBJECT = eINSTANCE.getObject();
309
310 }
311
312} //LinkedListPackage
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/List.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/List.java
new file mode 100644
index 00000000..a72cc711
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/List.java
@@ -0,0 +1,50 @@
1/**
2 */
3package linkedList;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>List</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link linkedList.List#getFirst <em>First</em>}</li>
17 * </ul>
18 *
19 * @see linkedList.LinkedListPackage#getList()
20 * @model
21 * @generated
22 */
23public interface List extends EObject {
24 /**
25 * Returns the value of the '<em><b>First</b></em>' containment reference.
26 * <!-- begin-user-doc -->
27 * <p>
28 * If the meaning of the '<em>First</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>First</em>' containment reference.
33 * @see #setFirst(Element)
34 * @see linkedList.LinkedListPackage#getList_First()
35 * @model containment="true"
36 * @generated
37 */
38 Element getFirst();
39
40 /**
41 * Sets the value of the '{@link linkedList.List#getFirst <em>First</em>}' containment reference.
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @param value the new value of the '<em>First</em>' containment reference.
45 * @see #getFirst()
46 * @generated
47 */
48 void setFirst(Element value);
49
50} // List
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Object.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Object.java
new file mode 100644
index 00000000..4c8d1081
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Object.java
@@ -0,0 +1,19 @@
1/**
2 */
3package linkedList;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Object</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see linkedList.LinkedListPackage#getObject()
14 * @model
15 * @generated
16 */
17public interface Object extends EObject {
18
19} // Object
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ElementImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ElementImpl.java
new file mode 100644
index 00000000..d08f707b
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ElementImpl.java
@@ -0,0 +1,241 @@
1/**
2 */
3package linkedList.impl;
4
5import linkedList.Element;
6import linkedList.LinkedListPackage;
7
8import org.eclipse.emf.common.notify.Notification;
9import org.eclipse.emf.common.notify.NotificationChain;
10
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Element</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link linkedList.impl.ElementImpl#getValue <em>Value</em>}</li>
26 * <li>{@link linkedList.impl.ElementImpl#getNext <em>Next</em>}</li>
27 * </ul>
28 *
29 * @generated
30 */
31public class ElementImpl extends MinimalEObjectImpl.Container implements Element {
32 /**
33 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
34 * <!-- begin-user-doc -->
35 * <!-- end-user-doc -->
36 * @see #getValue()
37 * @generated
38 * @ordered
39 */
40 protected linkedList.Object value;
41
42 /**
43 * The cached value of the '{@link #getNext() <em>Next</em>}' containment reference.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @see #getNext()
47 * @generated
48 * @ordered
49 */
50 protected Element next;
51
52 /**
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 protected ElementImpl() {
58 super();
59 }
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 @Override
67 protected EClass eStaticClass() {
68 return LinkedListPackage.Literals.ELEMENT;
69 }
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 public linkedList.Object getValue() {
77 return value;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public NotificationChain basicSetValue(linkedList.Object newValue, NotificationChain msgs) {
86 linkedList.Object oldValue = value;
87 value = newValue;
88 if (eNotificationRequired()) {
89 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__VALUE, oldValue, newValue);
90 if (msgs == null) msgs = notification; else msgs.add(notification);
91 }
92 return msgs;
93 }
94
95 /**
96 * <!-- begin-user-doc -->
97 * <!-- end-user-doc -->
98 * @generated
99 */
100 public void setValue(linkedList.Object newValue) {
101 if (newValue != value) {
102 NotificationChain msgs = null;
103 if (value != null)
104 msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__VALUE, null, msgs);
105 if (newValue != null)
106 msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__VALUE, null, msgs);
107 msgs = basicSetValue(newValue, msgs);
108 if (msgs != null) msgs.dispatch();
109 }
110 else if (eNotificationRequired())
111 eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__VALUE, newValue, newValue));
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 public Element getNext() {
120 return next;
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 public NotificationChain basicSetNext(Element newNext, NotificationChain msgs) {
129 Element oldNext = next;
130 next = newNext;
131 if (eNotificationRequired()) {
132 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__NEXT, oldNext, newNext);
133 if (msgs == null) msgs = notification; else msgs.add(notification);
134 }
135 return msgs;
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 public void setNext(Element newNext) {
144 if (newNext != next) {
145 NotificationChain msgs = null;
146 if (next != null)
147 msgs = ((InternalEObject)next).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__NEXT, null, msgs);
148 if (newNext != null)
149 msgs = ((InternalEObject)newNext).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__NEXT, null, msgs);
150 msgs = basicSetNext(newNext, msgs);
151 if (msgs != null) msgs.dispatch();
152 }
153 else if (eNotificationRequired())
154 eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__NEXT, newNext, newNext));
155 }
156
157 /**
158 * <!-- begin-user-doc -->
159 * <!-- end-user-doc -->
160 * @generated
161 */
162 @Override
163 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
164 switch (featureID) {
165 case LinkedListPackage.ELEMENT__VALUE:
166 return basicSetValue(null, msgs);
167 case LinkedListPackage.ELEMENT__NEXT:
168 return basicSetNext(null, msgs);
169 }
170 return super.eInverseRemove(otherEnd, featureID, msgs);
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public Object eGet(int featureID, boolean resolve, boolean coreType) {
180 switch (featureID) {
181 case LinkedListPackage.ELEMENT__VALUE:
182 return getValue();
183 case LinkedListPackage.ELEMENT__NEXT:
184 return getNext();
185 }
186 return super.eGet(featureID, resolve, coreType);
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public void eSet(int featureID, Object newValue) {
196 switch (featureID) {
197 case LinkedListPackage.ELEMENT__VALUE:
198 setValue((linkedList.Object)newValue);
199 return;
200 case LinkedListPackage.ELEMENT__NEXT:
201 setNext((Element)newValue);
202 return;
203 }
204 super.eSet(featureID, newValue);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @Override
213 public void eUnset(int featureID) {
214 switch (featureID) {
215 case LinkedListPackage.ELEMENT__VALUE:
216 setValue((linkedList.Object)null);
217 return;
218 case LinkedListPackage.ELEMENT__NEXT:
219 setNext((Element)null);
220 return;
221 }
222 super.eUnset(featureID);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public boolean eIsSet(int featureID) {
232 switch (featureID) {
233 case LinkedListPackage.ELEMENT__VALUE:
234 return value != null;
235 case LinkedListPackage.ELEMENT__NEXT:
236 return next != null;
237 }
238 return super.eIsSet(featureID);
239 }
240
241} //ElementImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListFactoryImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListFactoryImpl.java
new file mode 100644
index 00000000..1a66a5e4
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListFactoryImpl.java
@@ -0,0 +1,120 @@
1/**
2 */
3package linkedList.impl;
4
5import linkedList.Element;
6import linkedList.LinkedListFactory;
7import linkedList.LinkedListPackage;
8import linkedList.List;
9
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.EObject;
12import org.eclipse.emf.ecore.EPackage;
13
14import org.eclipse.emf.ecore.impl.EFactoryImpl;
15
16import org.eclipse.emf.ecore.plugin.EcorePlugin;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model <b>Factory</b>.
21 * <!-- end-user-doc -->
22 * @generated
23 */
24public class LinkedListFactoryImpl extends EFactoryImpl implements LinkedListFactory {
25 /**
26 * Creates the default factory implementation.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 public static LinkedListFactory init() {
32 try {
33 LinkedListFactory theLinkedListFactory = (LinkedListFactory)EPackage.Registry.INSTANCE.getEFactory(LinkedListPackage.eNS_URI);
34 if (theLinkedListFactory != null) {
35 return theLinkedListFactory;
36 }
37 }
38 catch (Exception exception) {
39 EcorePlugin.INSTANCE.log(exception);
40 }
41 return new LinkedListFactoryImpl();
42 }
43
44 /**
45 * Creates an instance of the factory.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 public LinkedListFactoryImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 public EObject create(EClass eClass) {
61 switch (eClass.getClassifierID()) {
62 case LinkedListPackage.LIST: return createList();
63 case LinkedListPackage.ELEMENT: return createElement();
64 case LinkedListPackage.OBJECT: return createObject();
65 default:
66 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
67 }
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 public List createList() {
76 ListImpl list = new ListImpl();
77 return list;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 public Element createElement() {
86 ElementImpl element = new ElementImpl();
87 return element;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public linkedList.Object createObject() {
96 ObjectImpl object = new ObjectImpl();
97 return object;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public LinkedListPackage getLinkedListPackage() {
106 return (LinkedListPackage)getEPackage();
107 }
108
109 /**
110 * <!-- begin-user-doc -->
111 * <!-- end-user-doc -->
112 * @deprecated
113 * @generated
114 */
115 @Deprecated
116 public static LinkedListPackage getPackage() {
117 return LinkedListPackage.eINSTANCE;
118 }
119
120} //LinkedListFactoryImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListPackageImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListPackageImpl.java
new file mode 100644
index 00000000..f190c4d0
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListPackageImpl.java
@@ -0,0 +1,239 @@
1/**
2 */
3package linkedList.impl;
4
5import linkedList.Element;
6import linkedList.LinkedListFactory;
7import linkedList.LinkedListPackage;
8import linkedList.List;
9import org.eclipse.emf.ecore.EClass;
10import org.eclipse.emf.ecore.EPackage;
11import org.eclipse.emf.ecore.EReference;
12
13import org.eclipse.emf.ecore.impl.EPackageImpl;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Package</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class LinkedListPackageImpl extends EPackageImpl implements LinkedListPackage {
22 /**
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @generated
26 */
27 private EClass listEClass = null;
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 private EClass elementEClass = null;
35
36 /**
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 private EClass objectEClass = null;
42
43 /**
44 * Creates an instance of the model <b>Package</b>, registered with
45 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
46 * package URI value.
47 * <p>Note: the correct way to create the package is via the static
48 * factory method {@link #init init()}, which also performs
49 * initialization of the package, or returns the registered package,
50 * if one already exists.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @see org.eclipse.emf.ecore.EPackage.Registry
54 * @see linkedList.LinkedListPackage#eNS_URI
55 * @see #init()
56 * @generated
57 */
58 private LinkedListPackageImpl() {
59 super(eNS_URI, LinkedListFactory.eINSTANCE);
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 private static boolean isInited = false;
68
69 /**
70 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
71 *
72 * <p>This method is used to initialize {@link LinkedListPackage#eINSTANCE} when that field is accessed.
73 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @see #eNS_URI
77 * @see #createPackageContents()
78 * @see #initializePackageContents()
79 * @generated
80 */
81 public static LinkedListPackage init() {
82 if (isInited) return (LinkedListPackage)EPackage.Registry.INSTANCE.getEPackage(LinkedListPackage.eNS_URI);
83
84 // Obtain or create and register package
85 Object registeredLinkedListPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
86 LinkedListPackageImpl theLinkedListPackage = registeredLinkedListPackage instanceof LinkedListPackageImpl ? (LinkedListPackageImpl)registeredLinkedListPackage : new LinkedListPackageImpl();
87
88 isInited = true;
89
90 // Create package meta-data objects
91 theLinkedListPackage.createPackageContents();
92
93 // Initialize created meta-data
94 theLinkedListPackage.initializePackageContents();
95
96 // Mark meta-data to indicate it can't be changed
97 theLinkedListPackage.freeze();
98
99 // Update the registry and return the package
100 EPackage.Registry.INSTANCE.put(LinkedListPackage.eNS_URI, theLinkedListPackage);
101 return theLinkedListPackage;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 public EClass getList() {
110 return listEClass;
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public EReference getList_First() {
119 return (EReference)listEClass.getEStructuralFeatures().get(0);
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public EClass getElement() {
128 return elementEClass;
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 public EReference getElement_Value() {
137 return (EReference)elementEClass.getEStructuralFeatures().get(0);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 public EReference getElement_Next() {
146 return (EReference)elementEClass.getEStructuralFeatures().get(1);
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 public EClass getObject() {
155 return objectEClass;
156 }
157
158 /**
159 * <!-- begin-user-doc -->
160 * <!-- end-user-doc -->
161 * @generated
162 */
163 public LinkedListFactory getLinkedListFactory() {
164 return (LinkedListFactory)getEFactoryInstance();
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 private boolean isCreated = false;
173
174 /**
175 * Creates the meta-model objects for the package. This method is
176 * guarded to have no affect on any invocation but its first.
177 * <!-- begin-user-doc -->
178 * <!-- end-user-doc -->
179 * @generated
180 */
181 public void createPackageContents() {
182 if (isCreated) return;
183 isCreated = true;
184
185 // Create classes and their features
186 listEClass = createEClass(LIST);
187 createEReference(listEClass, LIST__FIRST);
188
189 elementEClass = createEClass(ELEMENT);
190 createEReference(elementEClass, ELEMENT__VALUE);
191 createEReference(elementEClass, ELEMENT__NEXT);
192
193 objectEClass = createEClass(OBJECT);
194 }
195
196 /**
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @generated
200 */
201 private boolean isInitialized = false;
202
203 /**
204 * Complete the initialization of the package and its meta-model. This
205 * method is guarded to have no affect on any invocation but its first.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 public void initializePackageContents() {
211 if (isInitialized) return;
212 isInitialized = true;
213
214 // Initialize package
215 setName(eNAME);
216 setNsPrefix(eNS_PREFIX);
217 setNsURI(eNS_URI);
218
219 // Create type parameters
220
221 // Set bounds for type parameters
222
223 // Add supertypes to classes
224
225 // Initialize classes, features, and operations; add parameters
226 initEClass(listEClass, List.class, "List", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
227 initEReference(getList_First(), this.getElement(), null, "first", null, 0, 1, List.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
228
229 initEClass(elementEClass, Element.class, "Element", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
230 initEReference(getElement_Value(), this.getObject(), null, "value", null, 1, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
231 initEReference(getElement_Next(), this.getElement(), null, "next", null, 0, 1, Element.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
232
233 initEClass(objectEClass, linkedList.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
234
235 // Create resource
236 createResource(eNS_URI);
237 }
238
239} //LinkedListPackageImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ListImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ListImpl.java
new file mode 100644
index 00000000..30d006cd
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ListImpl.java
@@ -0,0 +1,176 @@
1/**
2 */
3package linkedList.impl;
4
5import linkedList.Element;
6import linkedList.LinkedListPackage;
7import linkedList.List;
8
9import org.eclipse.emf.common.notify.Notification;
10import org.eclipse.emf.common.notify.NotificationChain;
11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject;
13
14import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>List</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link linkedList.impl.ListImpl#getFirst <em>First</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ListImpl extends MinimalEObjectImpl.Container implements List {
31 /**
32 * The cached value of the '{@link #getFirst() <em>First</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getFirst()
36 * @generated
37 * @ordered
38 */
39 protected Element first;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ListImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return LinkedListPackage.Literals.LIST;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Element getFirst() {
66 return first;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetFirst(Element newFirst, NotificationChain msgs) {
75 Element oldFirst = first;
76 first = newFirst;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.LIST__FIRST, oldFirst, newFirst);
79 if (msgs == null) msgs = notification; else msgs.add(notification);
80 }
81 return msgs;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 public void setFirst(Element newFirst) {
90 if (newFirst != first) {
91 NotificationChain msgs = null;
92 if (first != null)
93 msgs = ((InternalEObject)first).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.LIST__FIRST, null, msgs);
94 if (newFirst != null)
95 msgs = ((InternalEObject)newFirst).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.LIST__FIRST, null, msgs);
96 msgs = basicSetFirst(newFirst, msgs);
97 if (msgs != null) msgs.dispatch();
98 }
99 else if (eNotificationRequired())
100 eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.LIST__FIRST, newFirst, newFirst));
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
110 switch (featureID) {
111 case LinkedListPackage.LIST__FIRST:
112 return basicSetFirst(null, msgs);
113 }
114 return super.eInverseRemove(otherEnd, featureID, msgs);
115 }
116
117 /**
118 * <!-- begin-user-doc -->
119 * <!-- end-user-doc -->
120 * @generated
121 */
122 @Override
123 public Object eGet(int featureID, boolean resolve, boolean coreType) {
124 switch (featureID) {
125 case LinkedListPackage.LIST__FIRST:
126 return getFirst();
127 }
128 return super.eGet(featureID, resolve, coreType);
129 }
130
131 /**
132 * <!-- begin-user-doc -->
133 * <!-- end-user-doc -->
134 * @generated
135 */
136 @SuppressWarnings("unchecked")
137 @Override
138 public void eSet(int featureID, Object newValue) {
139 switch (featureID) {
140 case LinkedListPackage.LIST__FIRST:
141 setFirst((Element)newValue);
142 return;
143 }
144 super.eSet(featureID, newValue);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public void eUnset(int featureID) {
154 switch (featureID) {
155 case LinkedListPackage.LIST__FIRST:
156 setFirst((Element)null);
157 return;
158 }
159 super.eUnset(featureID);
160 }
161
162 /**
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 */
167 @Override
168 public boolean eIsSet(int featureID) {
169 switch (featureID) {
170 case LinkedListPackage.LIST__FIRST:
171 return first != null;
172 }
173 return super.eIsSet(featureID);
174 }
175
176} //ListImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ObjectImpl.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ObjectImpl.java
new file mode 100644
index 00000000..c9b55c8d
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ObjectImpl.java
@@ -0,0 +1,36 @@
1/**
2 */
3package linkedList.impl;
4
5import linkedList.LinkedListPackage;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9/**
10 * <!-- begin-user-doc -->
11 * An implementation of the model object '<em><b>Object</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * @generated
15 */
16public class ObjectImpl extends MinimalEObjectImpl.Container implements linkedList.Object {
17 /**
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 protected ObjectImpl() {
23 super();
24 }
25
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 @Override
32 protected EClass eStaticClass() {
33 return LinkedListPackage.Literals.OBJECT;
34 }
35
36} //ObjectImpl
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListAdapterFactory.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListAdapterFactory.java
new file mode 100644
index 00000000..583192ba
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListAdapterFactory.java
@@ -0,0 +1,158 @@
1/**
2 */
3package linkedList.util;
4
5import linkedList.Element;
6import linkedList.LinkedListPackage;
7import linkedList.List;
8
9import org.eclipse.emf.common.notify.Adapter;
10import org.eclipse.emf.common.notify.Notifier;
11
12import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
13
14import org.eclipse.emf.ecore.EObject;
15
16/**
17 * <!-- begin-user-doc -->
18 * The <b>Adapter Factory</b> for the model.
19 * It provides an adapter <code>createXXX</code> method for each class of the model.
20 * <!-- end-user-doc -->
21 * @see linkedList.LinkedListPackage
22 * @generated
23 */
24public class LinkedListAdapterFactory extends AdapterFactoryImpl {
25 /**
26 * The cached model package.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 protected static LinkedListPackage modelPackage;
32
33 /**
34 * Creates an instance of the adapter factory.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @generated
38 */
39 public LinkedListAdapterFactory() {
40 if (modelPackage == null) {
41 modelPackage = LinkedListPackage.eINSTANCE;
42 }
43 }
44
45 /**
46 * Returns whether this factory is applicable for the type of the object.
47 * <!-- begin-user-doc -->
48 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
49 * <!-- end-user-doc -->
50 * @return whether this factory is applicable for the type of the object.
51 * @generated
52 */
53 @Override
54 public boolean isFactoryForType(Object object) {
55 if (object == modelPackage) {
56 return true;
57 }
58 if (object instanceof EObject) {
59 return ((EObject)object).eClass().getEPackage() == modelPackage;
60 }
61 return false;
62 }
63
64 /**
65 * The switch that delegates to the <code>createXXX</code> methods.
66 * <!-- begin-user-doc -->
67 * <!-- end-user-doc -->
68 * @generated
69 */
70 protected LinkedListSwitch<Adapter> modelSwitch =
71 new LinkedListSwitch<Adapter>() {
72 @Override
73 public Adapter caseList(List object) {
74 return createListAdapter();
75 }
76 @Override
77 public Adapter caseElement(Element object) {
78 return createElementAdapter();
79 }
80 @Override
81 public Adapter caseObject(linkedList.Object object) {
82 return createObjectAdapter();
83 }
84 @Override
85 public Adapter defaultCase(EObject object) {
86 return createEObjectAdapter();
87 }
88 };
89
90 /**
91 * Creates an adapter for the <code>target</code>.
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @param target the object to adapt.
95 * @return the adapter for the <code>target</code>.
96 * @generated
97 */
98 @Override
99 public Adapter createAdapter(Notifier target) {
100 return modelSwitch.doSwitch((EObject)target);
101 }
102
103
104 /**
105 * Creates a new adapter for an object of class '{@link linkedList.List <em>List</em>}'.
106 * <!-- begin-user-doc -->
107 * This default implementation returns null so that we can easily ignore cases;
108 * it's useful to ignore a case when inheritance will catch all the cases anyway.
109 * <!-- end-user-doc -->
110 * @return the new adapter.
111 * @see linkedList.List
112 * @generated
113 */
114 public Adapter createListAdapter() {
115 return null;
116 }
117
118 /**
119 * Creates a new adapter for an object of class '{@link linkedList.Element <em>Element</em>}'.
120 * <!-- begin-user-doc -->
121 * This default implementation returns null so that we can easily ignore cases;
122 * it's useful to ignore a case when inheritance will catch all the cases anyway.
123 * <!-- end-user-doc -->
124 * @return the new adapter.
125 * @see linkedList.Element
126 * @generated
127 */
128 public Adapter createElementAdapter() {
129 return null;
130 }
131
132 /**
133 * Creates a new adapter for an object of class '{@link linkedList.Object <em>Object</em>}'.
134 * <!-- begin-user-doc -->
135 * This default implementation returns null so that we can easily ignore cases;
136 * it's useful to ignore a case when inheritance will catch all the cases anyway.
137 * <!-- end-user-doc -->
138 * @return the new adapter.
139 * @see linkedList.Object
140 * @generated
141 */
142 public Adapter createObjectAdapter() {
143 return null;
144 }
145
146 /**
147 * Creates a new adapter for the default case.
148 * <!-- begin-user-doc -->
149 * This default implementation returns null.
150 * <!-- end-user-doc -->
151 * @return the new adapter.
152 * @generated
153 */
154 public Adapter createEObjectAdapter() {
155 return null;
156 }
157
158} //LinkedListAdapterFactory
diff --git a/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListSwitch.java b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListSwitch.java
new file mode 100644
index 00000000..f5dcf560
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListSwitch.java
@@ -0,0 +1,154 @@
1/**
2 */
3package linkedList.util;
4
5import linkedList.Element;
6import linkedList.LinkedListPackage;
7import linkedList.List;
8
9import org.eclipse.emf.ecore.EObject;
10import org.eclipse.emf.ecore.EPackage;
11
12import org.eclipse.emf.ecore.util.Switch;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Switch</b> for the model's inheritance hierarchy.
17 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
18 * to invoke the <code>caseXXX</code> method for each class of the model,
19 * starting with the actual class of the object
20 * and proceeding up the inheritance hierarchy
21 * until a non-null result is returned,
22 * which is the result of the switch.
23 * <!-- end-user-doc -->
24 * @see linkedList.LinkedListPackage
25 * @generated
26 */
27public class LinkedListSwitch<T> extends Switch<T> {
28 /**
29 * The cached model package
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 protected static LinkedListPackage modelPackage;
35
36 /**
37 * Creates an instance of the switch.
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 public LinkedListSwitch() {
43 if (modelPackage == null) {
44 modelPackage = LinkedListPackage.eINSTANCE;
45 }
46 }
47
48 /**
49 * Checks whether this is a switch for the given package.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @param ePackage the package in question.
53 * @return whether this is a switch for the given package.
54 * @generated
55 */
56 @Override
57 protected boolean isSwitchFor(EPackage ePackage) {
58 return ePackage == modelPackage;
59 }
60
61 /**
62 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @return the first non-null result returned by a <code>caseXXX</code> call.
66 * @generated
67 */
68 @Override
69 protected T doSwitch(int classifierID, EObject theEObject) {
70 switch (classifierID) {
71 case LinkedListPackage.LIST: {
72 List list = (List)theEObject;
73 T result = caseList(list);
74 if (result == null) result = defaultCase(theEObject);
75 return result;
76 }
77 case LinkedListPackage.ELEMENT: {
78 Element element = (Element)theEObject;
79 T result = caseElement(element);
80 if (result == null) result = defaultCase(theEObject);
81 return result;
82 }
83 case LinkedListPackage.OBJECT: {
84 linkedList.Object object = (linkedList.Object)theEObject;
85 T result = caseObject(object);
86 if (result == null) result = defaultCase(theEObject);
87 return result;
88 }
89 default: return defaultCase(theEObject);
90 }
91 }
92
93 /**
94 * Returns the result of interpreting the object as an instance of '<em>List</em>'.
95 * <!-- begin-user-doc -->
96 * This implementation returns null;
97 * returning a non-null result will terminate the switch.
98 * <!-- end-user-doc -->
99 * @param object the target of the switch.
100 * @return the result of interpreting the object as an instance of '<em>List</em>'.
101 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
102 * @generated
103 */
104 public T caseList(List object) {
105 return null;
106 }
107
108 /**
109 * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
110 * <!-- begin-user-doc -->
111 * This implementation returns null;
112 * returning a non-null result will terminate the switch.
113 * <!-- end-user-doc -->
114 * @param object the target of the switch.
115 * @return the result of interpreting the object as an instance of '<em>Element</em>'.
116 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
117 * @generated
118 */
119 public T caseElement(Element object) {
120 return null;
121 }
122
123 /**
124 * Returns the result of interpreting the object as an instance of '<em>Object</em>'.
125 * <!-- begin-user-doc -->
126 * This implementation returns null;
127 * returning a non-null result will terminate the switch.
128 * <!-- end-user-doc -->
129 * @param object the target of the switch.
130 * @return the result of interpreting the object as an instance of '<em>Object</em>'.
131 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
132 * @generated
133 */
134 public T caseObject(linkedList.Object object) {
135 return null;
136 }
137
138 /**
139 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
140 * <!-- begin-user-doc -->
141 * This implementation returns null;
142 * returning a non-null result will terminate the switch, but this is the last case anyway.
143 * <!-- end-user-doc -->
144 * @param object the target of the switch.
145 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
146 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
147 * @generated
148 */
149 @Override
150 public T defaultCase(EObject object) {
151 return null;
152 }
153
154} //LinkedListSwitch
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
new file mode 100644
index 00000000..2db9fecc
--- /dev/null
+++ 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/.gitignore b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.gitignore
new file mode 100644
index 00000000..b5da4aad
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.gitignore
@@ -0,0 +1 @@
/.CSERposterSample.java._trace
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
new file mode 100644
index 00000000..ee5069d7
--- /dev/null
+++ b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java
@@ -0,0 +1,103 @@
1package ca.mcgill.ecse.dslreasoner.realistic.metrics.examples;
2
3import com.google.common.collect.Iterables;
4import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage;
5import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic;
6import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration;
7import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace;
8import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor;
9import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput;
10import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem;
11import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation;
12import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor;
13import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml;
14import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodWithTraces;
15import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice;
16import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation;
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml;
18import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace;
19import java.io.PrintWriter;
20import java.util.Collections;
21import java.util.List;
22import java.util.Map;
23import java.util.Set;
24import linkedList.LinkedListPackage;
25import org.eclipse.emf.common.util.EList;
26import org.eclipse.emf.ecore.EAttribute;
27import org.eclipse.emf.ecore.EClass;
28import org.eclipse.emf.ecore.EEnum;
29import org.eclipse.emf.ecore.EEnumLiteral;
30import org.eclipse.emf.ecore.EObject;
31import org.eclipse.emf.ecore.EPackage;
32import org.eclipse.emf.ecore.EReference;
33import org.eclipse.emf.ecore.resource.Resource;
34import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
35import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine;
36import org.eclipse.xtend2.lib.StringConcatenation;
37import org.eclipse.xtext.xbase.lib.Exceptions;
38import org.eclipse.xtext.xbase.lib.Functions.Function1;
39import org.eclipse.xtext.xbase.lib.InputOutput;
40import org.eclipse.xtext.xbase.lib.IterableExtensions;
41
42@SuppressWarnings("all")
43public class CSERposterSample {
44 private final static InstanceModel2PartialInterpretation partialInterpretation2Logic = new InstanceModel2PartialInterpretation();
45
46 private final static PartialInterpretation2ImmutableTypeLattice neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice();
47
48 private final static Ecore2Logic ecore2Logic = new Ecore2Logic();
49
50 private final static PartialInterpretation2Gml partialVisualizer = new PartialInterpretation2Gml();
51
52 private final static Neighbourhood2Gml neighbourhoodVisualizer = new Neighbourhood2Gml();
53
54 private final static int depth = 1;
55
56 public static void main(final String[] args) {
57 try {
58 Map<String, Object> _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap();
59 XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl();
60 _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl);
61 YakindummPackage.eINSTANCE.eClass();
62 LinkedListPackage.eINSTANCE.eClass();
63 ReteEngine.class.getClass();
64 final String outputs = "outputs";
65 final String instModName = "realisticModel";
66 StringConcatenation _builder = new StringConcatenation();
67 _builder.append("resources");
68 final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder.toString(), "");
69 final EObject model = workspace.<EObject>readModel(EObject.class, (instModName + ".xmi"));
70 final EPackage pckg = model.eClass().getEPackage();
71 List<EClass> _list = IterableExtensions.<EClass>toList(Iterables.<EClass>filter(pckg.getEClassifiers(), EClass.class));
72 Set<EClass> _emptySet = Collections.<EClass>emptySet();
73 List<EEnum> _list_1 = IterableExtensions.<EEnum>toList(Iterables.<EEnum>filter(pckg.getEClassifiers(), EEnum.class));
74 final Function1<EEnum, EList<EEnumLiteral>> _function = (EEnum it) -> {
75 return it.getELiterals();
76 };
77 List<EEnumLiteral> _list_2 = IterableExtensions.<EEnumLiteral>toList(Iterables.<EEnumLiteral>concat(IterableExtensions.<EEnum, EList<EEnumLiteral>>map(Iterables.<EEnum>filter(pckg.getEClassifiers(), EEnum.class), _function)));
78 final Function1<EClass, EList<EReference>> _function_1 = (EClass it) -> {
79 return it.getEReferences();
80 };
81 List<EReference> _list_3 = IterableExtensions.<EReference>toList(Iterables.<EReference>concat(IterableExtensions.<EClass, EList<EReference>>map(Iterables.<EClass>filter(pckg.getEClassifiers(), EClass.class), _function_1)));
82 final Function1<EClass, EList<EAttribute>> _function_2 = (EClass it) -> {
83 return it.getEAttributes();
84 };
85 List<EAttribute> _list_4 = IterableExtensions.<EAttribute>toList(Iterables.<EAttribute>concat(IterableExtensions.<EClass, EList<EAttribute>>map(Iterables.<EClass>filter(pckg.getEClassifiers(), EClass.class), _function_2)));
86 final EcoreMetamodelDescriptor metamodel = new EcoreMetamodelDescriptor(_list, _emptySet,
87 false, _list_1, _list_2, _list_3, _list_4);
88 Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration();
89 final TracedOutput<LogicProblem, Ecore2Logic_Trace> metamodelTransformationOutput = CSERposterSample.ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration);
90 final PartialInterpretation partialModelOutput = CSERposterSample.partialInterpretation2Logic.transform(metamodelTransformationOutput, model.eResource(), false);
91 final PrintWriter writer = new PrintWriter((((outputs + "//") + instModName) + "MODEL.gml"));
92 writer.print(CSERposterSample.partialVisualizer.transform(partialModelOutput));
93 writer.close();
94 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"));
96 w2.print(CSERposterSample.neighbourhoodVisualizer.transform(hood, partialModelOutput));
97 w2.close();
98 InputOutput.<String>println("visualization done");
99 } catch (Throwable _e) {
100 throw Exceptions.sneakyThrow(_e);
101 }
102 }
103}