From 250722c453223a238192fda8db9e692ea776afc7 Mon Sep 17 00:00:00 2001 From: ArenBabikian Date: Sun, 19 May 2019 04:57:59 -0400 Subject: REALMET: first impl of n'hood visualis. minor bug with adding outgng 0s. --- .../.classpath | 15 +- .../.project | 62 +- .../META-INF/MANIFEST.MF | 41 +- .../build.properties | 14 +- .../outputs/realisticModel.gml | 1891 ++++++++++++++++++++ .../outputs/realisticModelMODEL.gml | 1562 ++++++++++++++++ .../outputs/realisticModelNEIGHBOURHOOD.gml | 0 .../outputs/simpleLLMODEL.gml | 696 +++++++ .../outputs/simpleLLNEIGHBOURHOOD.gml | 336 ++++ .../outputs/unnames.gml | 90 + .../plugin.properties | 4 + .../plugin.xml | 17 + .../resources/linkedList.aird | 201 +++ .../resources/linkedList.ecore | 15 + .../resources/linkedList.genmodel | 18 + .../resources/realisticModel.xmi | 48 + .../resources/simpleLL.xmi | 19 + .../samples/simple1.gml | 121 ++ .../samples/simple1.graphml | 69 + .../metrics/examples/CSERposterSample.xtend | 76 + .../src/linkedList/Element.java | 77 + .../src/linkedList/LinkedListFactory.java | 60 + .../src/linkedList/LinkedListPackage.java | 312 ++++ .../src/linkedList/List.java | 50 + .../src/linkedList/Object.java | 19 + .../src/linkedList/impl/ElementImpl.java | 241 +++ .../src/linkedList/impl/LinkedListFactoryImpl.java | 120 ++ .../src/linkedList/impl/LinkedListPackageImpl.java | 239 +++ .../src/linkedList/impl/ListImpl.java | 176 ++ .../src/linkedList/impl/ObjectImpl.java | 36 + .../linkedList/util/LinkedListAdapterFactory.java | 158 ++ .../src/linkedList/util/LinkedListSwitch.java | 154 ++ .../metrics/examples/.CSERposterSample.xtendbin | Bin 0 -> 7376 bytes .../realistic/metrics/examples/.gitignore | 1 + .../metrics/examples/CSERposterSample.java | 103 ++ 35 files changed, 6992 insertions(+), 49 deletions(-) create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModel.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelMODEL.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/realisticModelNEIGHBOURHOOD.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLMODEL.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/simpleLLNEIGHBOURHOOD.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/outputs/unnames.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.properties create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/plugin.xml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.aird create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.ecore create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/linkedList.genmodel create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/realisticModel.xmi create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/resources/simpleLL.xmi create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.gml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/samples/simple1.graphml create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.xtend create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Element.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListFactory.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/LinkedListPackage.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/List.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/Object.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ElementImpl.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListFactoryImpl.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/LinkedListPackageImpl.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ListImpl.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/impl/ObjectImpl.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListAdapterFactory.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/src/linkedList/util/LinkedListSwitch.java create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.gitignore create mode 100644 Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/CSERposterSample.java (limited to 'Metrics') 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 @@ - - - - - - - + + + + + + + + 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 @@ - - - ca.mcgill.ecse.dslreasoner.realistic.metrics - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - - + + + ca.mcgill.ecse.dslreasoner.realistic.metrics + + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.xtext.ui.shared.xtextNature + + 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 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Metrics -Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.realistic.metrics -Bundle-Version: 1.0.0.qualifier -Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.realistic.metrics -Bundle-RequiredExecutionEnvironment: JavaSE-1.8 -Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.14.0", - hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", - Ecore-Plugin;bundle-version="1.0.0" +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: ca.mcgill.ecse.dslreasoner.realistic.metrics;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Automatic-Module-Name: ca.mcgill.ecse.dslreasoner.realistic.metrics +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: linkedList, + linkedList.impl, + linkedList.util +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;bundle-version="2.14.0";visibility:=reexport, + hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage;bundle-version="1.0.0", + Ecore-Plugin;bundle-version="1.0.0", + com.google.guava;bundle-version="21.0.0", + org.eclipse.viatra.query.runtime;bundle-version="2.1.0", + hu.bme.mit.inf.dslreasoner.ecore2logic;bundle-version="1.0.0", + hu.bme.mit.inf.dslreasoner.viatra2logic;bundle-version="1.0.0", + org.eclipse.emf.ecore.xmi;bundle-version="2.14.0", + hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph;bundle-version="1.0.0", + org.eclipse.xtext.xbase.lib, + org.eclipse.xtend.lib, + org.eclipse.xtend.lib.macro, + org.eclipse.viatra.query.runtime.rete;bundle-version="2.1.0", + org.eclipse.viatra.query.runtime.localsearch;bundle-version="2.1.0", + org.eclipse.collections;bundle-version="9.2.0" +Bundle-ActivationPolicy: lazy + 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 @@ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - . +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = 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 @@ +Creator "yFiles" +Version "2.16" +graph +[ + hierarchic 1 + label "" + directed 1 + node + [ + id 0 + label "true" + graphics + [ + x 832.9 + y 301.0 + w 41.800000000000004 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "true" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 1 + label "false" + graphics + [ + x 740.3 + y 301.0 + w 50.6 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "false" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 2 + label "null" + graphics + [ + x 401.79999999999995 + y 546.0 + w 184.8 + h 54.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Statechart class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 3 + label "null" + graphics + [ + x 379.29999999999995 + y 356.0 + w 107.80000000000001 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Region class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 4 + label "null" + graphics + [ + x 522.8 + y 412.0 + w 146.3 + h 68.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Pseudostate class + Vertex class + Entry class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 5 + label "null" + graphics + [ + x 413.8 + y 251.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 6 + label "null" + graphics + [ + x 300.8 + y 148.0 + w 184.8 + h 82.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 7 + label "null" + graphics + [ + x 168.8 + y 34.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 8 + label "null" + graphics + [ + x 233.3 + y 231.0 + w 184.8 + h 82.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 9 + label "null" + graphics + [ + x 309.3 + y 20.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 10 + label "null" + graphics + [ + x 100.80000000000001 + y 148.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 11 + label "null" + graphics + [ + x 69.30000000000001 + y 395.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 12 + label "null" + graphics + [ + x 428.3 + y 86.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 13 + label "null" + graphics + [ + x 231.8 + y 355.0 + w 184.8 + h 82.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 14 + label "null" + graphics + [ + x 298.3 + y 420.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 15 + label "null" + graphics + [ + x 194.8 + y 502.0 + w 184.8 + h 82.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 16 + label "null" + graphics + [ + x 100.30000000000001 + y 293.0 + w 138.60000000000002 + h 40.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 17 + label "null" + graphics + [ + x 576.8 + y 240.0 + w 184.8 + h 82.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 18 + label "New Integers" + graphics + [ + x 771.1 + y 13.0 + w 112.2 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Integers" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 19 + label "New Reals" + graphics + [ + x 757.9 + y 229.0 + w 85.80000000000001 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Reals" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 20 + label "New Strings" + graphics + [ + x 766.7 + y 85.0 + w 103.4 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Strings" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + node + [ + id 21 + label "New Objects" + graphics + [ + x 766.7 + y 157.0 + w 103.4 + h 26.0 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Objects" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6.0 + ] + ] + edge + [ + source 6 + target 5 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.08032754342061545 + xTarget 0.10710339122748727 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 9 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.05423173536706701 + xTarget -0.07230898048942268 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 16 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.09234115756532207 + xTarget 0.12312154342042972 + yTarget 2.2204460492503132E-17 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 7 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.056939112509911224 + xTarget -0.07591881667988142 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 14 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.05722329714569708 + xTarget 0.07629772952759617 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 13 + target 10 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.06403825675031763 + xTarget -0.08538434233375684 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 15 + target 11 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.0834051215952323 + xTarget -0.11120682879364265 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 17 + target 12 + label "incomingTransitions reference Vertex" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.07517258170522839 + xTarget -0.10023010894030451 + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 4 + target 5 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.08254431858692544 + xTarget -0.08713011406397665 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 7 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.08278902855860473 + xTarget -0.11038537141147287 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 9 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.05751572768585484 + xTarget -0.07668763691447326 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 10 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.10193355770368039 + xTarget -0.13591141027157383 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 11 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07652670792062202 + xTarget 0.10203561056082977 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 12 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.09068594476953899 + xTarget -0.1209145930260524 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 13 + target 14 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07741474435720763 + xTarget 0.10321965914294319 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 15 + target 16 + label "outgoingTransitions reference Vertex" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.059386954907372135 + xTarget -0.07918260654316284 + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 281.1015625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 4 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 6 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 8 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 13 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 15 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 17 + label "vertices reference Region" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 196.431640625 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 6 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.10710339122748727 + xTarget -0.08032754342061535 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 8 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07591881667988142 + xTarget 0.056939112509911224 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 9 + target 6 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07230898048942265 + xTarget 0.05423173536706701 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 10 + target 13 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.08538434233375643 + xTarget 0.06403825675031717 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 11 + target 15 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.11120682879364265 + xTarget 0.0834051215952323 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 12 + target 17 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.10023010894030451 + xTarget 0.07517258170522809 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 14 + target 8 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.0762977295275961 + xTarget -0.05722329714569708 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 16 + target 6 + label "target reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.12312154342042972 + xTarget -0.09234115756532262 + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 4 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.08713011406397665 + xTarget 0.08254431858692544 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 6 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.11038537141147287 + xTarget 0.08278902855860439 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 9 + target 8 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07668763691447301 + xTarget 0.05751572768585469 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 10 + target 8 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.13591141027157425 + xTarget 0.10193355770368054 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 11 + target 8 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.10203561056082977 + xTarget -0.07652670792062218 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 12 + target 8 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.12091459302605259 + xTarget 0.0906859447695393 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 14 + target 13 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource -0.10321965914294329 + ySource -7.105427357601002E-16 + xTarget -0.07741474435720733 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 16 + target 15 + label "source reference Transition" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + edgeAnchor + [ + xSource 0.07918260654316284 + xTarget 0.059386954907372135 + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 211.826171875 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] + edge + [ + source 2 + target 3 + label "regions reference CompositeElement" + graphics + [ + width 3 + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "regions reference CompositeElement" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + contentWidth 265.70703125 + contentHeight 18.0 + model "six_pos" + position "thead" + ] + ] +] 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 @@ +graph +[ + node + [ + id 0 + graphics + [ + w 41.800000000000004 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "true" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 1 + graphics + [ + w 50.6 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "false" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 2 + graphics + [ + w 184.8 + h 54 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Statechart class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 3 + graphics + [ + w 107.80000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Region class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 4 + graphics + [ + w 146.3 + h 68 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Pseudostate class + Vertex class + Entry class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 5 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 6 + graphics + [ + w 184.8 + h 82 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 7 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 8 + graphics + [ + w 184.8 + h 82 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 9 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 10 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 11 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 12 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 13 + graphics + [ + w 184.8 + h 82 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 14 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 15 + graphics + [ + w 184.8 + h 82 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 16 + graphics + [ + w 138.60000000000002 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Transition class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 17 + graphics + [ + w 184.8 + h 82 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Vertex class + State class + RegularState class + CompositeElement class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 18 + graphics + [ + w 112.2 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Integers" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 19 + graphics + [ + w 85.80000000000001 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Reals" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 20 + graphics + [ + w 103.4 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Strings" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 21 + graphics + [ + w 103.4 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Objects" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + edge + [ + source 6 + target 5 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 9 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 16 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 7 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 14 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 13 + target 10 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 15 + target 11 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 17 + target 12 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "incomingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 4 + target 5 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 6 + target 7 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 9 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 10 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 11 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 8 + target 12 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 13 + target 14 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 15 + target 16 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "outgoingTransitions reference Vertex" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 4 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 6 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 8 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 13 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 15 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 17 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "vertices reference Region" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 6 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 9 + target 6 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 10 + target 13 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 11 + target 15 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 12 + target 17 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 14 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 16 + target 6 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "target reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 4 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 6 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 9 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 10 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 11 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 12 + target 8 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 14 + target 13 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 16 + target 15 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "source reference Transition" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 2 + target 3 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "regions reference CompositeElement" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] +] 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 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 @@ +graph +[ + node + [ + id 0 + graphics + [ + w 41.800000000000004 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "true" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 1 + graphics + [ + w 50.6 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "false" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 2 + graphics + [ + w 92.4 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + List class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 3 + graphics + [ + w 115.50000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Element class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 4 + graphics + [ + w 107.80000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Object class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 5 + graphics + [ + w 115.50000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Element class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 6 + graphics + [ + w 107.80000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Object class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 7 + graphics + [ + w 115.50000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Element class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 8 + graphics + [ + w 107.80000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Object class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 9 + graphics + [ + w 115.50000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Element class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 10 + graphics + [ + w 107.80000000000001 + h 40 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "null" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + Object class + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 11 + graphics + [ + w 112.2 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Integers" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 12 + graphics + [ + w 85.80000000000001 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Reals" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 13 + graphics + [ + w 103.4 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Strings" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + + node + [ + id 14 + graphics + [ + w 103.4 + h 26 + type "rectangle" + fill "#FFFFFF" + fill2 "#FFFFFF" + outline "#000000" + ] + LabelGraphics + [ + text "New Objects" + outline "#000000" + fill "#FFFFFF" + fontSize 16 + fontName "Monospace" + autoSizePolicy "node_width" + anchor "t" + borderDistance 0.0 + ] + LabelGraphics + [ + text " + " + fontSize 14 + fontName "Consolas" + alignment "left" + anchor "tl" + borderDistance 6 + ] + ] + edge + [ + source 2 + target 3 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "first reference List" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 4 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 6 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 8 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 9 + target 10 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 3 + target 5 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "next reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 5 + target 7 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "next reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] + edge + [ + source 7 + target 9 + graphics + [ + fill "#000000" + width 3 + targetArrow "standard" + ] + LabelGraphics + [ + text "next reference Element" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" + ] + ] +] 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 @@ +graph +[ + node + [ + id 0 + graphics + [ + w 145.20000000000002 + h 40 + type "roundrectangle" + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "[Object class] (4)" + fontSize 14 + fontName "Dialog" + ] + ] + node + [ + id 1 + graphics + [ + w 129.8 + h 40 + type "roundrectangle" + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "[List class] (1)" + fontSize 14 + fontName "Dialog" + ] + ] + node + [ + id 2 + graphics + [ + w 152.9 + h 40 + type "roundrectangle" + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "[Element class] (1)" + fontSize 14 + fontName "Dialog" + ] + ] + node + [ + id 3 + graphics + [ + w 152.9 + h 40 + type "roundrectangle" + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "[Element class] (1)" + fontSize 14 + fontName "Dialog" + ] + ] + node + [ + id 4 + graphics + [ + w 152.9 + h 40 + type "roundrectangle" + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "[Element class] (2)" + fontSize 14 + fontName "Dialog" + ] + ] + edge + [ + source 1 + target 2 + label "first reference List" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "first reference List" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] + edge + [ + source 2 + target 4 + label "next reference Element" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "next reference Element" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1, 0]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] + edge + [ + source 2 + target 0 + label "value reference Element" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1, 0, 0]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] + edge + [ + source 3 + target 0 + label "value reference Element" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1, 0, 0]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] + edge + [ + source 4 + target 3 + label "next reference Element" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "next reference Element" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1, 1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] + edge + [ + source 4 + target 0 + label "value reference Element" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "value reference Element" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[1, 1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "[1, 0, 0]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] +] 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 @@ +Creator "yFiles" +Version "2.16" +graph +[ + hierarchic 1 + label "" + directed 1 + node + [ + id 0 + label "" + graphics + [ + x 370.0 + y 238.0 + w 124.0 + h 90.0 + type "roundrectangle" + raisedBorder 0 + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + LabelGraphics + [ + text "label1" + fontSize 12 + fontName "Dialog" + anchor "c" + ] + ] + node + [ + id 1 + label "" + graphics + [ + x 876.0 + y 238.0 + w 30.0 + h 30.0 + type "roundrectangle" + raisedBorder 0 + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + ] + ] + edge + [ + source 0 + target 1 + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "name" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "tail" + ] + LabelGraphics + [ + text "m1" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "stail" + ] + LabelGraphics + [ + text "m2" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + model "six_pos" + position "ttail" + ] + ] +] 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 @@ +# + +pluginName = Metrics +providerName = 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 @@ + + + + + + + + + + + + + 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 @@ + + + + linkedList.ecore + + + + + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + bold + + + + + + + + + + + + labelSize + + + labelSize + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + 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 @@ + + + linkedList.ecore + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + + + + + + + + + + + + + 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 @@ +Creator "yFiles" +Version "2.16" +graph +[ + hierarchic 1 + label "" + directed 1 + node + [ + id 0 + label "Statechart" + graphics + [ + x 313.5 + y 225.0 + w 81.0 + h 32.0 + type "roundrectangle" + raisedBorder 0 + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + text "Statechart" + fontSize 12 + fontName "Dialog" + anchor "c" + ] + ] + node + [ + id 1 + label "Region0" + graphics + [ + x -31.5 + y 207.5 + w 55.5 + h 32.0 + type "roundrectangle" + raisedBorder 0 + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + text "Region0" + fontSize 12 + fontName "Dialog" + anchor "c" + ] + ] + node + [ + id 2 + label "Region0" + graphics + [ + x 313.5 + y 440.0 + w 55.5 + h 32.0 + type "roundrectangle" + raisedBorder 0 + fill "#FFCC00" + outline "#000000" + ] + LabelGraphics + [ + text "Region0" + fontSize 12 + fontName "Dialog" + anchor "c" + ] + ] + edge + [ + source 1 + target 0 + label "RefName" + graphics + [ + fill "#000000" + targetArrow "standard" + ] + LabelGraphics + [ + text "RefName" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + contentWidth 54.68359375 + contentHeight 18.701171875 + model "six_pos" + position "head" + ] + LabelGraphics + [ + text "[2,3]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + contentWidth 27.349609375 + contentHeight 18.701171875 + model "six_pos" + position "ttail" + ] + LabelGraphics + [ + text "[0,1]" + fontSize 12 + fontName "Dialog" + configuration "AutoFlippingLabel" + contentWidth 27.349609375 + contentHeight 18.701171875 + model "six_pos" + position "stail" + ] + ] +] 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 @@ + + + + + + + + + + + + + + + + + + + + + + Statechart + + + + + + + + + + + + Region0 + + + + + + + + + + + + Region0 + + + + + + + + + + + + RefName + [2,3] + [0,1] + + + + + + + + + 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 @@ +package ca.mcgill.ecse.dslreasoner.realistic.metrics.examples + +import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration +import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml +import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace +import java.util.Collections +import org.eclipse.emf.ecore.EClass +import org.eclipse.emf.ecore.EEnum +import org.eclipse.emf.ecore.EObject +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl +import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine +import java.io.PrintWriter +import linkedList.LinkedListPackage +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml + +class CSERposterSample { + static val partialInterpretation2Logic = new InstanceModel2PartialInterpretation + static val neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice + static val Ecore2Logic ecore2Logic = new Ecore2Logic + static val partialVisualizer = new PartialInterpretation2Gml + static val neighbourhoodVisualizer = new Neighbourhood2Gml + static val depth = 1 + + def static void main(String[] args) { + Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put("*", new XMIResourceFactoryImpl) + YakindummPackage.eINSTANCE.eClass + LinkedListPackage.eINSTANCE.eClass + ReteEngine.getClass + + val outputs = "outputs" + val instModName = "realisticModel" + val workspace = new FileSystemWorkspace('''resources''', "") + val model = workspace.readModel(EObject, instModName+".xmi") + + val pckg = model.eClass.EPackage + val metamodel = new EcoreMetamodelDescriptor( + pckg.EClassifiers.filter(EClass).toList, + Collections::emptySet, + false, + pckg.EClassifiers.filter(EEnum).toList, + pckg.EClassifiers.filter(EEnum).map[ELiterals].flatten.toList, + pckg.EClassifiers.filter(EClass).map[EReferences].flatten.toList, + pckg.EClassifiers.filter(EClass).map[EAttributes].flatten.toList + ) + val metamodelTransformationOutput = ecore2Logic.transformMetamodel(metamodel, new Ecore2LogicConfiguration) + + val partialModelOutput = partialInterpretation2Logic.transform(metamodelTransformationOutput, model.eResource, false) + + val writer = new PrintWriter(outputs+"//"+instModName+"MODEL.gml") + + writer.print(partialVisualizer.transform(partialModelOutput)) + + writer.close + + val hood = neighbourhoodComputer.createRepresentation(partialModelOutput, depth, Integer.MAX_VALUE, Integer.MAX_VALUE) + + val w2 = new PrintWriter(outputs+"/"+instModName+"NEIGHBOURHOOD.gml") + + w2.print(neighbourhoodVisualizer.transform(hood, partialModelOutput)) + + w2.close + + println("visualization done") + +// partialModelOutput.openWorldElements + //RESULTS +// print(hood) + + } +} 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 @@ +/** + */ +package linkedList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Element'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see linkedList.LinkedListPackage#getElement() + * @model + * @generated + */ +public interface Element extends EObject { + /** + * Returns the value of the 'Value' containment reference. + * + *

+ * If the meaning of the 'Value' containment reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Value' containment reference. + * @see #setValue(linkedList.Object) + * @see linkedList.LinkedListPackage#getElement_Value() + * @model containment="true" required="true" + * @generated + */ + linkedList.Object getValue(); + + /** + * Sets the value of the '{@link linkedList.Element#getValue Value}' containment reference. + * + * + * @param value the new value of the 'Value' containment reference. + * @see #getValue() + * @generated + */ + void setValue(linkedList.Object value); + + /** + * Returns the value of the 'Next' containment reference. + * + *

+ * If the meaning of the 'Next' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'Next' containment reference. + * @see #setNext(Element) + * @see linkedList.LinkedListPackage#getElement_Next() + * @model containment="true" + * @generated + */ + Element getNext(); + + /** + * Sets the value of the '{@link linkedList.Element#getNext Next}' containment reference. + * + * + * @param value the new value of the 'Next' containment reference. + * @see #getNext() + * @generated + */ + void setNext(Element value); + +} // 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 @@ +/** + */ +package linkedList; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see linkedList.LinkedListPackage + * @generated + */ +public interface LinkedListFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + LinkedListFactory eINSTANCE = linkedList.impl.LinkedListFactoryImpl.init(); + + /** + * Returns a new object of class 'List'. + * + * + * @return a new object of class 'List'. + * @generated + */ + List createList(); + + /** + * Returns a new object of class 'Element'. + * + * + * @return a new object of class 'Element'. + * @generated + */ + Element createElement(); + + /** + * Returns a new object of class 'Object'. + * + * + * @return a new object of class 'Object'. + * @generated + */ + Object createObject(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + LinkedListPackage getLinkedListPackage(); + +} //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 @@ +/** + */ +package linkedList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + * + * + * @see linkedList.LinkedListFactory + * @model kind="package" + * @generated + */ +public interface LinkedListPackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "linkedList"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "llmm"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "LLMM"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + LinkedListPackage eINSTANCE = linkedList.impl.LinkedListPackageImpl.init(); + + /** + * The meta object id for the '{@link linkedList.impl.ListImpl List}' class. + * + * + * @see linkedList.impl.ListImpl + * @see linkedList.impl.LinkedListPackageImpl#getList() + * @generated + */ + int LIST = 0; + + /** + * The feature id for the 'First' containment reference. + * + * + * @generated + * @ordered + */ + int LIST__FIRST = 0; + + /** + * The number of structural features of the 'List' class. + * + * + * @generated + * @ordered + */ + int LIST_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'List' class. + * + * + * @generated + * @ordered + */ + int LIST_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link linkedList.impl.ElementImpl Element}' class. + * + * + * @see linkedList.impl.ElementImpl + * @see linkedList.impl.LinkedListPackageImpl#getElement() + * @generated + */ + int ELEMENT = 1; + + /** + * The feature id for the 'Value' containment reference. + * + * + * @generated + * @ordered + */ + int ELEMENT__VALUE = 0; + + /** + * The feature id for the 'Next' containment reference. + * + * + * @generated + * @ordered + */ + int ELEMENT__NEXT = 1; + + /** + * The number of structural features of the 'Element' class. + * + * + * @generated + * @ordered + */ + int ELEMENT_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Element' class. + * + * + * @generated + * @ordered + */ + int ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link linkedList.impl.ObjectImpl Object}' class. + * + * + * @see linkedList.impl.ObjectImpl + * @see linkedList.impl.LinkedListPackageImpl#getObject() + * @generated + */ + int OBJECT = 2; + + /** + * The number of structural features of the 'Object' class. + * + * + * @generated + * @ordered + */ + int OBJECT_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Object' class. + * + * + * @generated + * @ordered + */ + int OBJECT_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link linkedList.List List}'. + * + * + * @return the meta object for class 'List'. + * @see linkedList.List + * @generated + */ + EClass getList(); + + /** + * Returns the meta object for the containment reference '{@link linkedList.List#getFirst First}'. + * + * + * @return the meta object for the containment reference 'First'. + * @see linkedList.List#getFirst() + * @see #getList() + * @generated + */ + EReference getList_First(); + + /** + * Returns the meta object for class '{@link linkedList.Element Element}'. + * + * + * @return the meta object for class 'Element'. + * @see linkedList.Element + * @generated + */ + EClass getElement(); + + /** + * Returns the meta object for the containment reference '{@link linkedList.Element#getValue Value}'. + * + * + * @return the meta object for the containment reference 'Value'. + * @see linkedList.Element#getValue() + * @see #getElement() + * @generated + */ + EReference getElement_Value(); + + /** + * Returns the meta object for the containment reference '{@link linkedList.Element#getNext Next}'. + * + * + * @return the meta object for the containment reference 'Next'. + * @see linkedList.Element#getNext() + * @see #getElement() + * @generated + */ + EReference getElement_Next(); + + /** + * Returns the meta object for class '{@link linkedList.Object Object}'. + * + * + * @return the meta object for class 'Object'. + * @see linkedList.Object + * @generated + */ + EClass getObject(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + LinkedListFactory getLinkedListFactory(); + + /** + * + * Defines literals for the meta objects that represent + * + * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link linkedList.impl.ListImpl List}' class. + * + * + * @see linkedList.impl.ListImpl + * @see linkedList.impl.LinkedListPackageImpl#getList() + * @generated + */ + EClass LIST = eINSTANCE.getList(); + + /** + * The meta object literal for the 'First' containment reference feature. + * + * + * @generated + */ + EReference LIST__FIRST = eINSTANCE.getList_First(); + + /** + * The meta object literal for the '{@link linkedList.impl.ElementImpl Element}' class. + * + * + * @see linkedList.impl.ElementImpl + * @see linkedList.impl.LinkedListPackageImpl#getElement() + * @generated + */ + EClass ELEMENT = eINSTANCE.getElement(); + + /** + * The meta object literal for the 'Value' containment reference feature. + * + * + * @generated + */ + EReference ELEMENT__VALUE = eINSTANCE.getElement_Value(); + + /** + * The meta object literal for the 'Next' containment reference feature. + * + * + * @generated + */ + EReference ELEMENT__NEXT = eINSTANCE.getElement_Next(); + + /** + * The meta object literal for the '{@link linkedList.impl.ObjectImpl Object}' class. + * + * + * @see linkedList.impl.ObjectImpl + * @see linkedList.impl.LinkedListPackageImpl#getObject() + * @generated + */ + EClass OBJECT = eINSTANCE.getObject(); + + } + +} //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 @@ +/** + */ +package linkedList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'List'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see linkedList.LinkedListPackage#getList() + * @model + * @generated + */ +public interface List extends EObject { + /** + * Returns the value of the 'First' containment reference. + * + *

+ * If the meaning of the 'First' reference isn't clear, + * there really should be more of a description here... + *

+ * + * @return the value of the 'First' containment reference. + * @see #setFirst(Element) + * @see linkedList.LinkedListPackage#getList_First() + * @model containment="true" + * @generated + */ + Element getFirst(); + + /** + * Sets the value of the '{@link linkedList.List#getFirst First}' containment reference. + * + * + * @param value the new value of the 'First' containment reference. + * @see #getFirst() + * @generated + */ + void setFirst(Element value); + +} // 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 @@ +/** + */ +package linkedList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Object'. + * + * + * + * @see linkedList.LinkedListPackage#getObject() + * @model + * @generated + */ +public interface Object extends EObject { + +} // 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 @@ +/** + */ +package linkedList.impl; + +import linkedList.Element; +import linkedList.LinkedListPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Element'. + * + *

+ * The following features are implemented: + *

+ * + * + * @generated + */ +public class ElementImpl extends MinimalEObjectImpl.Container implements Element { + /** + * The cached value of the '{@link #getValue() Value}' containment reference. + * + * + * @see #getValue() + * @generated + * @ordered + */ + protected linkedList.Object value; + + /** + * The cached value of the '{@link #getNext() Next}' containment reference. + * + * + * @see #getNext() + * @generated + * @ordered + */ + protected Element next; + + /** + * + * + * @generated + */ + protected ElementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return LinkedListPackage.Literals.ELEMENT; + } + + /** + * + * + * @generated + */ + public linkedList.Object getValue() { + return value; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetValue(linkedList.Object newValue, NotificationChain msgs) { + linkedList.Object oldValue = value; + value = newValue; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__VALUE, oldValue, newValue); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setValue(linkedList.Object newValue) { + if (newValue != value) { + NotificationChain msgs = null; + if (value != null) + msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__VALUE, null, msgs); + if (newValue != null) + msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__VALUE, null, msgs); + msgs = basicSetValue(newValue, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__VALUE, newValue, newValue)); + } + + /** + * + * + * @generated + */ + public Element getNext() { + return next; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetNext(Element newNext, NotificationChain msgs) { + Element oldNext = next; + next = newNext; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__NEXT, oldNext, newNext); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setNext(Element newNext) { + if (newNext != next) { + NotificationChain msgs = null; + if (next != null) + msgs = ((InternalEObject)next).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__NEXT, null, msgs); + if (newNext != null) + msgs = ((InternalEObject)newNext).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.ELEMENT__NEXT, null, msgs); + msgs = basicSetNext(newNext, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.ELEMENT__NEXT, newNext, newNext)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case LinkedListPackage.ELEMENT__VALUE: + return basicSetValue(null, msgs); + case LinkedListPackage.ELEMENT__NEXT: + return basicSetNext(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case LinkedListPackage.ELEMENT__VALUE: + return getValue(); + case LinkedListPackage.ELEMENT__NEXT: + return getNext(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case LinkedListPackage.ELEMENT__VALUE: + setValue((linkedList.Object)newValue); + return; + case LinkedListPackage.ELEMENT__NEXT: + setNext((Element)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case LinkedListPackage.ELEMENT__VALUE: + setValue((linkedList.Object)null); + return; + case LinkedListPackage.ELEMENT__NEXT: + setNext((Element)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case LinkedListPackage.ELEMENT__VALUE: + return value != null; + case LinkedListPackage.ELEMENT__NEXT: + return next != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package linkedList.impl; + +import linkedList.Element; +import linkedList.LinkedListFactory; +import linkedList.LinkedListPackage; +import linkedList.List; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class LinkedListFactoryImpl extends EFactoryImpl implements LinkedListFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static LinkedListFactory init() { + try { + LinkedListFactory theLinkedListFactory = (LinkedListFactory)EPackage.Registry.INSTANCE.getEFactory(LinkedListPackage.eNS_URI); + if (theLinkedListFactory != null) { + return theLinkedListFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new LinkedListFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public LinkedListFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case LinkedListPackage.LIST: return createList(); + case LinkedListPackage.ELEMENT: return createElement(); + case LinkedListPackage.OBJECT: return createObject(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public List createList() { + ListImpl list = new ListImpl(); + return list; + } + + /** + * + * + * @generated + */ + public Element createElement() { + ElementImpl element = new ElementImpl(); + return element; + } + + /** + * + * + * @generated + */ + public linkedList.Object createObject() { + ObjectImpl object = new ObjectImpl(); + return object; + } + + /** + * + * + * @generated + */ + public LinkedListPackage getLinkedListPackage() { + return (LinkedListPackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static LinkedListPackage getPackage() { + return LinkedListPackage.eINSTANCE; + } + +} //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 @@ +/** + */ +package linkedList.impl; + +import linkedList.Element; +import linkedList.LinkedListFactory; +import linkedList.LinkedListPackage; +import linkedList.List; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class LinkedListPackageImpl extends EPackageImpl implements LinkedListPackage { + /** + * + * + * @generated + */ + private EClass listEClass = null; + + /** + * + * + * @generated + */ + private EClass elementEClass = null; + + /** + * + * + * @generated + */ + private EClass objectEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see linkedList.LinkedListPackage#eNS_URI + * @see #init() + * @generated + */ + private LinkedListPackageImpl() { + super(eNS_URI, LinkedListFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link LinkedListPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static LinkedListPackage init() { + if (isInited) return (LinkedListPackage)EPackage.Registry.INSTANCE.getEPackage(LinkedListPackage.eNS_URI); + + // Obtain or create and register package + Object registeredLinkedListPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + LinkedListPackageImpl theLinkedListPackage = registeredLinkedListPackage instanceof LinkedListPackageImpl ? (LinkedListPackageImpl)registeredLinkedListPackage : new LinkedListPackageImpl(); + + isInited = true; + + // Create package meta-data objects + theLinkedListPackage.createPackageContents(); + + // Initialize created meta-data + theLinkedListPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theLinkedListPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(LinkedListPackage.eNS_URI, theLinkedListPackage); + return theLinkedListPackage; + } + + /** + * + * + * @generated + */ + public EClass getList() { + return listEClass; + } + + /** + * + * + * @generated + */ + public EReference getList_First() { + return (EReference)listEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getElement() { + return elementEClass; + } + + /** + * + * + * @generated + */ + public EReference getElement_Value() { + return (EReference)elementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EReference getElement_Next() { + return (EReference)elementEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EClass getObject() { + return objectEClass; + } + + /** + * + * + * @generated + */ + public LinkedListFactory getLinkedListFactory() { + return (LinkedListFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + listEClass = createEClass(LIST); + createEReference(listEClass, LIST__FIRST); + + elementEClass = createEClass(ELEMENT); + createEReference(elementEClass, ELEMENT__VALUE); + createEReference(elementEClass, ELEMENT__NEXT); + + objectEClass = createEClass(OBJECT); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + + // Initialize classes, features, and operations; add parameters + initEClass(listEClass, List.class, "List", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + + initEClass(elementEClass, Element.class, "Element", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + 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); + 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); + + initEClass(objectEClass, linkedList.Object.class, "Object", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + } + +} //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 @@ +/** + */ +package linkedList.impl; + +import linkedList.Element; +import linkedList.LinkedListPackage; +import linkedList.List; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'List'. + * + *

+ * The following features are implemented: + *

+ * + * + * @generated + */ +public class ListImpl extends MinimalEObjectImpl.Container implements List { + /** + * The cached value of the '{@link #getFirst() First}' containment reference. + * + * + * @see #getFirst() + * @generated + * @ordered + */ + protected Element first; + + /** + * + * + * @generated + */ + protected ListImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return LinkedListPackage.Literals.LIST; + } + + /** + * + * + * @generated + */ + public Element getFirst() { + return first; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetFirst(Element newFirst, NotificationChain msgs) { + Element oldFirst = first; + first = newFirst; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, LinkedListPackage.LIST__FIRST, oldFirst, newFirst); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + public void setFirst(Element newFirst) { + if (newFirst != first) { + NotificationChain msgs = null; + if (first != null) + msgs = ((InternalEObject)first).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.LIST__FIRST, null, msgs); + if (newFirst != null) + msgs = ((InternalEObject)newFirst).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - LinkedListPackage.LIST__FIRST, null, msgs); + msgs = basicSetFirst(newFirst, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, LinkedListPackage.LIST__FIRST, newFirst, newFirst)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case LinkedListPackage.LIST__FIRST: + return basicSetFirst(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case LinkedListPackage.LIST__FIRST: + return getFirst(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case LinkedListPackage.LIST__FIRST: + setFirst((Element)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case LinkedListPackage.LIST__FIRST: + setFirst((Element)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case LinkedListPackage.LIST__FIRST: + return first != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package linkedList.impl; + +import linkedList.LinkedListPackage; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * + * An implementation of the model object 'Object'. + * + * + * @generated + */ +public class ObjectImpl extends MinimalEObjectImpl.Container implements linkedList.Object { + /** + * + * + * @generated + */ + protected ObjectImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return LinkedListPackage.Literals.OBJECT; + } + +} //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 @@ +/** + */ +package linkedList.util; + +import linkedList.Element; +import linkedList.LinkedListPackage; +import linkedList.List; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see linkedList.LinkedListPackage + * @generated + */ +public class LinkedListAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static LinkedListPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public LinkedListAdapterFactory() { + if (modelPackage == null) { + modelPackage = LinkedListPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected LinkedListSwitch modelSwitch = + new LinkedListSwitch() { + @Override + public Adapter caseList(List object) { + return createListAdapter(); + } + @Override + public Adapter caseElement(Element object) { + return createElementAdapter(); + } + @Override + public Adapter caseObject(linkedList.Object object) { + return createObjectAdapter(); + } + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link linkedList.List List}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see linkedList.List + * @generated + */ + public Adapter createListAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link linkedList.Element Element}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see linkedList.Element + * @generated + */ + public Adapter createElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link linkedList.Object Object}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see linkedList.Object + * @generated + */ + public Adapter createObjectAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //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 @@ +/** + */ +package linkedList.util; + +import linkedList.Element; +import linkedList.LinkedListPackage; +import linkedList.List; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see linkedList.LinkedListPackage + * @generated + */ +public class LinkedListSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static LinkedListPackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public LinkedListSwitch() { + if (modelPackage == null) { + modelPackage = LinkedListPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case LinkedListPackage.LIST: { + List list = (List)theEObject; + T result = caseList(list); + if (result == null) result = defaultCase(theEObject); + return result; + } + case LinkedListPackage.ELEMENT: { + Element element = (Element)theEObject; + T result = caseElement(element); + if (result == null) result = defaultCase(theEObject); + return result; + } + case LinkedListPackage.OBJECT: { + linkedList.Object object = (linkedList.Object)theEObject; + T result = caseObject(object); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'List'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'List'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseList(List object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Element'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseElement(Element object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Object'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Object'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseObject(linkedList.Object object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //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 Binary files /dev/null and b/Metrics/ca.mcgill.ecse.dslreasoner.realistic.metrics/xtend-gen/ca/mcgill/ecse/dslreasoner/realistic/metrics/examples/.CSERposterSample.xtendbin 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 @@ +package ca.mcgill.ecse.dslreasoner.realistic.metrics.examples; + +import com.google.common.collect.Iterables; +import hu.bme.mit.inf.dslreasoner.domains.yakindu.sgraph.yakindumm.YakindummPackage; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2LogicConfiguration; +import hu.bme.mit.inf.dslreasoner.ecore2logic.Ecore2Logic_Trace; +import hu.bme.mit.inf.dslreasoner.ecore2logic.EcoreMetamodelDescriptor; +import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput; +import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretation2logic.InstanceModel2PartialInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.AbstractNodeDescriptor; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.Neighbourhood2Gml; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.NeighbourhoodWithTraces; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.neighbourhood.PartialInterpretation2ImmutableTypeLattice; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.partialinterpretation.PartialInterpretation; +import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretation2Gml; +import hu.bme.mit.inf.dslreasoner.workspace.FileSystemWorkspace; +import java.io.PrintWriter; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; +import linkedList.LinkedListPackage; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EEnumLiteral; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine; +import org.eclipse.xtend2.lib.StringConcatenation; +import org.eclipse.xtext.xbase.lib.Exceptions; +import org.eclipse.xtext.xbase.lib.Functions.Function1; +import org.eclipse.xtext.xbase.lib.InputOutput; +import org.eclipse.xtext.xbase.lib.IterableExtensions; + +@SuppressWarnings("all") +public class CSERposterSample { + private final static InstanceModel2PartialInterpretation partialInterpretation2Logic = new InstanceModel2PartialInterpretation(); + + private final static PartialInterpretation2ImmutableTypeLattice neighbourhoodComputer = new PartialInterpretation2ImmutableTypeLattice(); + + private final static Ecore2Logic ecore2Logic = new Ecore2Logic(); + + private final static PartialInterpretation2Gml partialVisualizer = new PartialInterpretation2Gml(); + + private final static Neighbourhood2Gml neighbourhoodVisualizer = new Neighbourhood2Gml(); + + private final static int depth = 1; + + public static void main(final String[] args) { + try { + Map _extensionToFactoryMap = Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap(); + XMIResourceFactoryImpl _xMIResourceFactoryImpl = new XMIResourceFactoryImpl(); + _extensionToFactoryMap.put("*", _xMIResourceFactoryImpl); + YakindummPackage.eINSTANCE.eClass(); + LinkedListPackage.eINSTANCE.eClass(); + ReteEngine.class.getClass(); + final String outputs = "outputs"; + final String instModName = "realisticModel"; + StringConcatenation _builder = new StringConcatenation(); + _builder.append("resources"); + final FileSystemWorkspace workspace = new FileSystemWorkspace(_builder.toString(), ""); + final EObject model = workspace.readModel(EObject.class, (instModName + ".xmi")); + final EPackage pckg = model.eClass().getEPackage(); + List _list = IterableExtensions.toList(Iterables.filter(pckg.getEClassifiers(), EClass.class)); + Set _emptySet = Collections.emptySet(); + List _list_1 = IterableExtensions.toList(Iterables.filter(pckg.getEClassifiers(), EEnum.class)); + final Function1> _function = (EEnum it) -> { + return it.getELiterals(); + }; + List _list_2 = IterableExtensions.toList(Iterables.concat(IterableExtensions.>map(Iterables.filter(pckg.getEClassifiers(), EEnum.class), _function))); + final Function1> _function_1 = (EClass it) -> { + return it.getEReferences(); + }; + List _list_3 = IterableExtensions.toList(Iterables.concat(IterableExtensions.>map(Iterables.filter(pckg.getEClassifiers(), EClass.class), _function_1))); + final Function1> _function_2 = (EClass it) -> { + return it.getEAttributes(); + }; + List _list_4 = IterableExtensions.toList(Iterables.concat(IterableExtensions.>map(Iterables.filter(pckg.getEClassifiers(), EClass.class), _function_2))); + final EcoreMetamodelDescriptor metamodel = new EcoreMetamodelDescriptor(_list, _emptySet, + false, _list_1, _list_2, _list_3, _list_4); + Ecore2LogicConfiguration _ecore2LogicConfiguration = new Ecore2LogicConfiguration(); + final TracedOutput metamodelTransformationOutput = CSERposterSample.ecore2Logic.transformMetamodel(metamodel, _ecore2LogicConfiguration); + final PartialInterpretation partialModelOutput = CSERposterSample.partialInterpretation2Logic.transform(metamodelTransformationOutput, model.eResource(), false); + final PrintWriter writer = new PrintWriter((((outputs + "//") + instModName) + "MODEL.gml")); + writer.print(CSERposterSample.partialVisualizer.transform(partialModelOutput)); + writer.close(); + final NeighbourhoodWithTraces, AbstractNodeDescriptor> hood = CSERposterSample.neighbourhoodComputer.createRepresentation(partialModelOutput, CSERposterSample.depth, Integer.MAX_VALUE, Integer.MAX_VALUE); + final PrintWriter w2 = new PrintWriter((((outputs + "/") + instModName) + "NEIGHBOURHOOD.gml")); + w2.print(CSERposterSample.neighbourhoodVisualizer.transform(hood, partialModelOutput)); + w2.close(); + InputOutput.println("visualization done"); + } catch (Throwable _e) { + throw Exceptions.sneakyThrow(_e); + } + } +} -- cgit v1.2.3-54-g00ecf