aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-26 21:43:55 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-26 21:43:55 +0200
commite92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009 (patch)
tree29ae119d1e17ace16115a82eef60b5b0bd886aba /org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model
parentAdd initial prototype (diff)
downloadrefinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.tar.gz
refinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.tar.zst
refinery-e92ebe4a61a106ff9c0e8f5bbbc3632f1dc60009.zip
FIx scoping, extend grammar
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model')
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird319
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java69
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java12
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java23
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java4
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java18
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java251
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java16
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java247
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java65
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java74
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java1
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java24
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java5
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java97
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java37
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java38
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java48
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore14
-rw-r--r--org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel8
22 files changed, 1222 insertions, 150 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
index 7d85f131..68ef59f4 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/.classpath
@@ -14,5 +14,6 @@
14 </classpathentry> 14 </classpathentry>
15 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/> 15 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
16 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/> 16 <classpathentry kind="con" path="org.eclipse.buildship.core.gradleclasspathcontainer"/>
17 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
17 <classpathentry kind="output" path="bin/default"/> 18 <classpathentry kind="output" path="bin/default"/>
18</classpath> 19</classpath>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
index 7a8e3134..1769c224 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/problem.aird
@@ -5,7 +5,7 @@
5 <semanticResources>src/main/resources/model/problem.genmodel</semanticResources> 5 <semanticResources>src/main/resources/model/problem.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg"> 6 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="9f99ef6f-bc34-43eb-b9d0-926a0eee892e"> 8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="21ccbdb3-d7f2-4782-aa2a-5fc2003467bb">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/> 10 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
11 </ownedRepresentationDescriptors> 11 </ownedRepresentationDescriptors>
@@ -21,7 +21,7 @@
21 <styles xmi:type="notation:FilteringStyle" xmi:id="_D1FIUqA4EeuqkpDnuik1sg"/> 21 <styles xmi:type="notation:FilteringStyle" xmi:id="_D1FIUqA4EeuqkpDnuik1sg"/>
22 </children> 22 </children>
23 <styles xmi:type="notation:ShapeStyle" xmi:id="_D1D6MaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 23 <styles xmi:type="notation:ShapeStyle" xmi:id="_D1D6MaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
24 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D1D6MqA4EeuqkpDnuik1sg" x="624" y="24" width="120" height="100"/> 24 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D1D6MqA4EeuqkpDnuik1sg" x="804" y="180" width="120" height="100"/>
25 </children> 25 </children>
26 <children xmi:type="notation:Node" xmi:id="_EfWNUKA4EeuqkpDnuik1sg" type="2003" element="_EfNqcKA4EeuqkpDnuik1sg"> 26 <children xmi:type="notation:Node" xmi:id="_EfWNUKA4EeuqkpDnuik1sg" type="2003" element="_EfNqcKA4EeuqkpDnuik1sg">
27 <children xmi:type="notation:Node" xmi:id="_EfXbcKA4EeuqkpDnuik1sg" type="5007"/> 27 <children xmi:type="notation:Node" xmi:id="_EfXbcKA4EeuqkpDnuik1sg" type="5007"/>
@@ -30,7 +30,7 @@
30 <styles xmi:type="notation:FilteringStyle" xmi:id="_EfXbc6A4EeuqkpDnuik1sg"/> 30 <styles xmi:type="notation:FilteringStyle" xmi:id="_EfXbc6A4EeuqkpDnuik1sg"/>
31 </children> 31 </children>
32 <styles xmi:type="notation:ShapeStyle" xmi:id="_EfWNUaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 32 <styles xmi:type="notation:ShapeStyle" xmi:id="_EfWNUaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
33 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfWNUqA4EeuqkpDnuik1sg" x="444" y="372" width="120" height="100"/> 33 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EfWNUqA4EeuqkpDnuik1sg" x="624" y="528" width="120" height="100"/>
34 </children> 34 </children>
35 <children xmi:type="notation:Node" xmi:id="_JT0o8KA4EeuqkpDnuik1sg" type="2003" element="_JTstIKA4EeuqkpDnuik1sg"> 35 <children xmi:type="notation:Node" xmi:id="_JT0o8KA4EeuqkpDnuik1sg" type="2003" element="_JTstIKA4EeuqkpDnuik1sg">
36 <children xmi:type="notation:Node" xmi:id="_JT1QAKA4EeuqkpDnuik1sg" type="5007"/> 36 <children xmi:type="notation:Node" xmi:id="_JT1QAKA4EeuqkpDnuik1sg" type="5007"/>
@@ -43,7 +43,7 @@
43 <styles xmi:type="notation:FilteringStyle" xmi:id="_JT13EqA4EeuqkpDnuik1sg"/> 43 <styles xmi:type="notation:FilteringStyle" xmi:id="_JT13EqA4EeuqkpDnuik1sg"/>
44 </children> 44 </children>
45 <styles xmi:type="notation:ShapeStyle" xmi:id="_JT0o8aA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 45 <styles xmi:type="notation:ShapeStyle" xmi:id="_JT0o8aA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JT0o8qA4EeuqkpDnuik1sg" x="492" y="564" width="120" height="100"/> 46 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JT0o8qA4EeuqkpDnuik1sg" x="672" y="720" width="120" height="100"/>
47 </children> 47 </children>
48 <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg"> 48 <children xmi:type="notation:Node" xmi:id="_c-HCQKA4EeuqkpDnuik1sg" type="2003" element="_c-A7oKA4EeuqkpDnuik1sg">
49 <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/> 49 <children xmi:type="notation:Node" xmi:id="_c-HCQ6A4EeuqkpDnuik1sg" type="5007"/>
@@ -56,7 +56,7 @@
56 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/> 56 <styles xmi:type="notation:FilteringStyle" xmi:id="_c-HCRqA4EeuqkpDnuik1sg"/>
57 </children> 57 </children>
58 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 58 <styles xmi:type="notation:ShapeStyle" xmi:id="_c-HCQaA4EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
59 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="408" y="804" width="147" height="100"/> 59 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_c-HCQqA4EeuqkpDnuik1sg" x="588" y="960" width="147" height="100"/>
60 </children> 60 </children>
61 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg"> 61 <children xmi:type="notation:Node" xmi:id="_RzZA0KA5EeuqkpDnuik1sg" type="2003" element="_RzK-YKA5EeuqkpDnuik1sg">
62 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/> 62 <children xmi:type="notation:Node" xmi:id="_RzZn4KA5EeuqkpDnuik1sg" type="5007"/>
@@ -69,7 +69,7 @@
69 <styles xmi:type="notation:FilteringStyle" xmi:id="_RzZn46A5EeuqkpDnuik1sg"/> 69 <styles xmi:type="notation:FilteringStyle" xmi:id="_RzZn46A5EeuqkpDnuik1sg"/>
70 </children> 70 </children>
71 <styles xmi:type="notation:ShapeStyle" xmi:id="_RzZA0aA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 71 <styles xmi:type="notation:ShapeStyle" xmi:id="_RzZA0aA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzZA0qA5EeuqkpDnuik1sg" x="444" y="180" width="120" height="100"/> 72 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RzZA0qA5EeuqkpDnuik1sg" x="1056" y="24" width="120" height="100"/>
73 </children> 73 </children>
74 <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg"> 74 <children xmi:type="notation:Node" xmi:id="_fit3kKA5EeuqkpDnuik1sg" type="2003" element="_fihqUKA5EeuqkpDnuik1sg">
75 <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/> 75 <children xmi:type="notation:Node" xmi:id="_fit3k6A5EeuqkpDnuik1sg" type="5007"/>
@@ -82,7 +82,7 @@
82 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/> 82 <styles xmi:type="notation:FilteringStyle" xmi:id="_fit3lqA5EeuqkpDnuik1sg"/>
83 </children> 83 </children>
84 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 84 <styles xmi:type="notation:ShapeStyle" xmi:id="_fit3kaA5EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1056" y="564" width="120" height="100"/> 85 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fit3kqA5EeuqkpDnuik1sg" x="1236" y="720" width="120" height="100"/>
86 </children> 86 </children>
87 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg"> 87 <children xmi:type="notation:Node" xmi:id="_QKLK0KA6EeuqkpDnuik1sg" type="2003" element="_QKD2EKA6EeuqkpDnuik1sg">
88 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/> 88 <children xmi:type="notation:Node" xmi:id="_QKLK06A6EeuqkpDnuik1sg" type="5007"/>
@@ -91,7 +91,7 @@
91 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/> 91 <styles xmi:type="notation:FilteringStyle" xmi:id="_QKLK1qA6EeuqkpDnuik1sg"/>
92 </children> 92 </children>
93 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 93 <styles xmi:type="notation:ShapeStyle" xmi:id="_QKLK0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="888" y="804" width="120" height="100"/> 94 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QKLK0qA6EeuqkpDnuik1sg" x="1068" y="960" width="120" height="100"/>
95 </children> 95 </children>
96 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg"> 96 <children xmi:type="notation:Node" xmi:id="_jP6FkKA6EeuqkpDnuik1sg" type="2003" element="_jPpm4KA6EeuqkpDnuik1sg">
97 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/> 97 <children xmi:type="notation:Node" xmi:id="_jP6soKA6EeuqkpDnuik1sg" type="5007"/>
@@ -100,7 +100,7 @@
100 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/> 100 <styles xmi:type="notation:FilteringStyle" xmi:id="_jP6so6A6EeuqkpDnuik1sg"/>
101 </children> 101 </children>
102 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 102 <styles xmi:type="notation:ShapeStyle" xmi:id="_jP6FkaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="876" y="564" width="120" height="100"/> 103 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_jP6FkqA6EeuqkpDnuik1sg" x="1056" y="720" width="120" height="100"/>
104 </children> 104 </children>
105 <children xmi:type="notation:Node" xmi:id="_sdPX0KA6EeuqkpDnuik1sg" type="2003" element="_sc_gMKA6EeuqkpDnuik1sg"> 105 <children xmi:type="notation:Node" xmi:id="_sdPX0KA6EeuqkpDnuik1sg" type="2003" element="_sc_gMKA6EeuqkpDnuik1sg">
106 <children xmi:type="notation:Node" xmi:id="_sdP-4KA6EeuqkpDnuik1sg" type="5007"/> 106 <children xmi:type="notation:Node" xmi:id="_sdP-4KA6EeuqkpDnuik1sg" type="5007"/>
@@ -109,7 +109,7 @@
109 <styles xmi:type="notation:FilteringStyle" xmi:id="_sdP-46A6EeuqkpDnuik1sg"/> 109 <styles xmi:type="notation:FilteringStyle" xmi:id="_sdP-46A6EeuqkpDnuik1sg"/>
110 </children> 110 </children>
111 <styles xmi:type="notation:ShapeStyle" xmi:id="_sdPX0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 111 <styles xmi:type="notation:ShapeStyle" xmi:id="_sdPX0aA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1056" y="804" width="120" height="100"/> 112 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sdPX0qA6EeuqkpDnuik1sg" x="1236" y="960" width="120" height="100"/>
113 </children> 113 </children>
114 <children xmi:type="notation:Node" xmi:id="_4k5GIKA6EeuqkpDnuik1sg" type="2003" element="_4k00sKA6EeuqkpDnuik1sg"> 114 <children xmi:type="notation:Node" xmi:id="_4k5GIKA6EeuqkpDnuik1sg" type="2003" element="_4k00sKA6EeuqkpDnuik1sg">
115 <children xmi:type="notation:Node" xmi:id="_4k5GI6A6EeuqkpDnuik1sg" type="5007"/> 115 <children xmi:type="notation:Node" xmi:id="_4k5GI6A6EeuqkpDnuik1sg" type="5007"/>
@@ -118,7 +118,7 @@
118 <styles xmi:type="notation:FilteringStyle" xmi:id="_4k5GJqA6EeuqkpDnuik1sg"/> 118 <styles xmi:type="notation:FilteringStyle" xmi:id="_4k5GJqA6EeuqkpDnuik1sg"/>
119 </children> 119 </children>
120 <styles xmi:type="notation:ShapeStyle" xmi:id="_4k5GIaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 120 <styles xmi:type="notation:ShapeStyle" xmi:id="_4k5GIaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1056" y="972" width="120" height="100"/> 121 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4k5GIqA6EeuqkpDnuik1sg" x="1236" y="1128" width="120" height="100"/>
122 </children> 122 </children>
123 <children xmi:type="notation:Node" xmi:id="_6KEUMKA6EeuqkpDnuik1sg" type="2003" element="_6J_bsKA6EeuqkpDnuik1sg"> 123 <children xmi:type="notation:Node" xmi:id="_6KEUMKA6EeuqkpDnuik1sg" type="2003" element="_6J_bsKA6EeuqkpDnuik1sg">
124 <children xmi:type="notation:Node" xmi:id="_6KEUM6A6EeuqkpDnuik1sg" type="5007"/> 124 <children xmi:type="notation:Node" xmi:id="_6KEUM6A6EeuqkpDnuik1sg" type="5007"/>
@@ -131,7 +131,7 @@
131 <styles xmi:type="notation:FilteringStyle" xmi:id="_6KEUNqA6EeuqkpDnuik1sg"/> 131 <styles xmi:type="notation:FilteringStyle" xmi:id="_6KEUNqA6EeuqkpDnuik1sg"/>
132 </children> 132 </children>
133 <styles xmi:type="notation:ShapeStyle" xmi:id="_6KEUMaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 133 <styles xmi:type="notation:ShapeStyle" xmi:id="_6KEUMaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="984" y="1128" width="120" height="100"/> 134 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6KEUMqA6EeuqkpDnuik1sg" x="1164" y="1284" width="120" height="100"/>
135 </children> 135 </children>
136 <children xmi:type="notation:Node" xmi:id="_-O-UEKA6EeuqkpDnuik1sg" type="2003" element="_-O6CoKA6EeuqkpDnuik1sg"> 136 <children xmi:type="notation:Node" xmi:id="_-O-UEKA6EeuqkpDnuik1sg" type="2003" element="_-O6CoKA6EeuqkpDnuik1sg">
137 <children xmi:type="notation:Node" xmi:id="_-O-7IKA6EeuqkpDnuik1sg" type="5007"/> 137 <children xmi:type="notation:Node" xmi:id="_-O-7IKA6EeuqkpDnuik1sg" type="5007"/>
@@ -140,7 +140,7 @@
140 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/> 140 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/>
141 </children> 141 </children>
142 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 142 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1284" y="804" width="120" height="100"/> 143 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1464" y="960" width="120" height="100"/>
144 </children> 144 </children>
145 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg"> 145 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg">
146 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/> 146 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/>
@@ -149,7 +149,7 @@
149 <styles xmi:type="notation:FilteringStyle" xmi:id="_V6qGQ6A7EeuqkpDnuik1sg"/> 149 <styles xmi:type="notation:FilteringStyle" xmi:id="_V6qGQ6A7EeuqkpDnuik1sg"/>
150 </children> 150 </children>
151 <styles xmi:type="notation:ShapeStyle" xmi:id="_V6pfMaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 151 <styles xmi:type="notation:ShapeStyle" xmi:id="_V6pfMaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1188" y="1128" width="120" height="100"/> 152 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_V6pfMqA7EeuqkpDnuik1sg" x="1368" y="1284" width="120" height="100"/>
153 </children> 153 </children>
154 <children xmi:type="notation:Node" xmi:id="_rRhWIKA7EeuqkpDnuik1sg" type="2003" element="_rRcdoKA7EeuqkpDnuik1sg"> 154 <children xmi:type="notation:Node" xmi:id="_rRhWIKA7EeuqkpDnuik1sg" type="2003" element="_rRcdoKA7EeuqkpDnuik1sg">
155 <children xmi:type="notation:Node" xmi:id="_rRh9MKA7EeuqkpDnuik1sg" type="5007"/> 155 <children xmi:type="notation:Node" xmi:id="_rRh9MKA7EeuqkpDnuik1sg" type="5007"/>
@@ -158,7 +158,7 @@
158 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/> 158 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/>
159 </children> 159 </children>
160 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 160 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1270" y="564" width="147" height="100"/> 161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1450" y="720" width="147" height="100"/>
162 </children> 162 </children>
163 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg"> 163 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg">
164 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/> 164 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/>
@@ -171,7 +171,7 @@
171 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/> 171 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/>
172 </children> 172 </children>
173 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 173 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1284" y="372" width="120" height="100"/> 174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1464" y="528" width="120" height="100"/>
175 </children> 175 </children>
176 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg"> 176 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg">
177 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/> 177 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/>
@@ -180,7 +180,7 @@
180 <styles xmi:type="notation:FilteringStyle" xmi:id="_xsrmQ6A8EeuqkpDnuik1sg"/> 180 <styles xmi:type="notation:FilteringStyle" xmi:id="_xsrmQ6A8EeuqkpDnuik1sg"/>
181 </children> 181 </children>
182 <styles xmi:type="notation:ShapeStyle" xmi:id="_xsq_MaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 182 <styles xmi:type="notation:ShapeStyle" xmi:id="_xsq_MaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1512" y="372" width="120" height="100"/> 183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xsq_MqA8EeuqkpDnuik1sg" x="1692" y="528" width="120" height="100"/>
184 </children> 184 </children>
185 <children xmi:type="notation:Node" xmi:id="_BMfjMKA9EeuqkpDnuik1sg" type="2003" element="_BMXnYKA9EeuqkpDnuik1sg"> 185 <children xmi:type="notation:Node" xmi:id="_BMfjMKA9EeuqkpDnuik1sg" type="2003" element="_BMXnYKA9EeuqkpDnuik1sg">
186 <children xmi:type="notation:Node" xmi:id="_BMfjM6A9EeuqkpDnuik1sg" type="5007"/> 186 <children xmi:type="notation:Node" xmi:id="_BMfjM6A9EeuqkpDnuik1sg" type="5007"/>
@@ -201,7 +201,7 @@
201 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/> 201 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/>
202 </children> 202 </children>
203 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 203 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1512" y="564" width="120" height="100"/> 204 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1692" y="720" width="120" height="100"/>
205 </children> 205 </children>
206 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg"> 206 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg">
207 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/> 207 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/>
@@ -210,7 +210,7 @@
210 <styles xmi:type="notation:FilteringStyle" xmi:id="_QUDYNqA9EeuqkpDnuik1sg"/> 210 <styles xmi:type="notation:FilteringStyle" xmi:id="_QUDYNqA9EeuqkpDnuik1sg"/>
211 </children> 211 </children>
212 <styles xmi:type="notation:ShapeStyle" xmi:id="_QUDYMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 212 <styles xmi:type="notation:ShapeStyle" xmi:id="_QUDYMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUDYMqA9EeuqkpDnuik1sg" x="156" y="372" width="120" height="100"/> 213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QUDYMqA9EeuqkpDnuik1sg" x="336" y="528" width="120" height="100"/>
214 </children> 214 </children>
215 <children xmi:type="notation:Node" xmi:id="_e73WIKA9EeuqkpDnuik1sg" type="2003" element="_e7ydoKA9EeuqkpDnuik1sg"> 215 <children xmi:type="notation:Node" xmi:id="_e73WIKA9EeuqkpDnuik1sg" type="2003" element="_e7ydoKA9EeuqkpDnuik1sg">
216 <children xmi:type="notation:Node" xmi:id="_e73WI6A9EeuqkpDnuik1sg" type="5007"/> 216 <children xmi:type="notation:Node" xmi:id="_e73WI6A9EeuqkpDnuik1sg" type="5007"/>
@@ -219,7 +219,7 @@
219 <styles xmi:type="notation:FilteringStyle" xmi:id="_e73WJqA9EeuqkpDnuik1sg"/> 219 <styles xmi:type="notation:FilteringStyle" xmi:id="_e73WJqA9EeuqkpDnuik1sg"/>
220 </children> 220 </children>
221 <styles xmi:type="notation:ShapeStyle" xmi:id="_e73WIaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 221 <styles xmi:type="notation:ShapeStyle" xmi:id="_e73WIaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e73WIqA9EeuqkpDnuik1sg" x="624" y="180" width="120" height="100"/> 222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_e73WIqA9EeuqkpDnuik1sg" x="804" y="336" width="120" height="100"/>
223 </children> 223 </children>
224 <children xmi:type="notation:Node" xmi:id="_zaq8oKA9EeuqkpDnuik1sg" type="2003" element="_zac6MKA9EeuqkpDnuik1sg"> 224 <children xmi:type="notation:Node" xmi:id="_zaq8oKA9EeuqkpDnuik1sg" type="2003" element="_zac6MKA9EeuqkpDnuik1sg">
225 <children xmi:type="notation:Node" xmi:id="_zarjsKA9EeuqkpDnuik1sg" type="5007"/> 225 <children xmi:type="notation:Node" xmi:id="_zarjsKA9EeuqkpDnuik1sg" type="5007"/>
@@ -232,7 +232,7 @@
232 <styles xmi:type="notation:FilteringStyle" xmi:id="_zarjs6A9EeuqkpDnuik1sg"/> 232 <styles xmi:type="notation:FilteringStyle" xmi:id="_zarjs6A9EeuqkpDnuik1sg"/>
233 </children> 233 </children>
234 <styles xmi:type="notation:ShapeStyle" xmi:id="_zaq8oaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 234 <styles xmi:type="notation:ShapeStyle" xmi:id="_zaq8oaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zaq8oqA9EeuqkpDnuik1sg" x="156" y="564" width="120" height="99"/> 235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zaq8oqA9EeuqkpDnuik1sg" x="336" y="720" width="120" height="99"/>
236 </children> 236 </children>
237 <children xmi:type="notation:Node" xmi:id="_Ren3cKBJEeuqkpDnuik1sg" type="2003" element="_ReiX4KBJEeuqkpDnuik1sg"> 237 <children xmi:type="notation:Node" xmi:id="_Ren3cKBJEeuqkpDnuik1sg" type="2003" element="_ReiX4KBJEeuqkpDnuik1sg">
238 <children xmi:type="notation:Node" xmi:id="_Ren3c6BJEeuqkpDnuik1sg" type="5007"/> 238 <children xmi:type="notation:Node" xmi:id="_Ren3c6BJEeuqkpDnuik1sg" type="5007"/>
@@ -241,7 +241,7 @@
241 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ren3dqBJEeuqkpDnuik1sg"/> 241 <styles xmi:type="notation:FilteringStyle" xmi:id="_Ren3dqBJEeuqkpDnuik1sg"/>
242 </children> 242 </children>
243 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ren3caBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 243 <styles xmi:type="notation:ShapeStyle" xmi:id="_Ren3caBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ren3cqBJEeuqkpDnuik1sg" x="156" y="804" width="120" height="100"/> 244 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ren3cqBJEeuqkpDnuik1sg" x="336" y="960" width="120" height="100"/>
245 </children> 245 </children>
246 <children xmi:type="notation:Node" xmi:id="_Tx6IsKBJEeuqkpDnuik1sg" type="2003" element="_Tx0CEKBJEeuqkpDnuik1sg"> 246 <children xmi:type="notation:Node" xmi:id="_Tx6IsKBJEeuqkpDnuik1sg" type="2003" element="_Tx0CEKBJEeuqkpDnuik1sg">
247 <children xmi:type="notation:Node" xmi:id="_Tx6Is6BJEeuqkpDnuik1sg" type="5007"/> 247 <children xmi:type="notation:Node" xmi:id="_Tx6Is6BJEeuqkpDnuik1sg" type="5007"/>
@@ -258,7 +258,7 @@
258 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tx6ItqBJEeuqkpDnuik1sg"/> 258 <styles xmi:type="notation:FilteringStyle" xmi:id="_Tx6ItqBJEeuqkpDnuik1sg"/>
259 </children> 259 </children>
260 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tx6IsaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 260 <styles xmi:type="notation:ShapeStyle" xmi:id="_Tx6IsaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tx6IsqBJEeuqkpDnuik1sg" x="48" y="972" width="120" height="100"/> 261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tx6IsqBJEeuqkpDnuik1sg" x="240" y="1128" width="120" height="100"/>
262 </children> 262 </children>
263 <children xmi:type="notation:Node" xmi:id="_aPNjUKBJEeuqkpDnuik1sg" type="2003" element="_aPIDwKBJEeuqkpDnuik1sg"> 263 <children xmi:type="notation:Node" xmi:id="_aPNjUKBJEeuqkpDnuik1sg" type="2003" element="_aPIDwKBJEeuqkpDnuik1sg">
264 <children xmi:type="notation:Node" xmi:id="_aPOKYKBJEeuqkpDnuik1sg" type="5007"/> 264 <children xmi:type="notation:Node" xmi:id="_aPOKYKBJEeuqkpDnuik1sg" type="5007"/>
@@ -271,7 +271,25 @@
271 <styles xmi:type="notation:FilteringStyle" xmi:id="_aPOKY6BJEeuqkpDnuik1sg"/> 271 <styles xmi:type="notation:FilteringStyle" xmi:id="_aPOKY6BJEeuqkpDnuik1sg"/>
272 </children> 272 </children>
273 <styles xmi:type="notation:ShapeStyle" xmi:id="_aPNjUaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 273 <styles xmi:type="notation:ShapeStyle" xmi:id="_aPNjUaBJEeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPNjUqBJEeuqkpDnuik1sg" x="228" y="972" width="120" height="100"/> 274 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aPNjUqBJEeuqkpDnuik1sg" x="408" y="1128" width="120" height="100"/>
275 </children>
276 <children xmi:type="notation:Node" xmi:id="_D-lH8NYBEeuF_d0WEhR3Xw" type="2003" element="_D9_5INYBEeuF_d0WEhR3Xw">
277 <children xmi:type="notation:Node" xmi:id="_D-lvANYBEeuF_d0WEhR3Xw" type="5007"/>
278 <children xmi:type="notation:Node" xmi:id="_D-lvAdYBEeuF_d0WEhR3Xw" type="7004">
279 <styles xmi:type="notation:SortingStyle" xmi:id="_D-lvAtYBEeuF_d0WEhR3Xw"/>
280 <styles xmi:type="notation:FilteringStyle" xmi:id="_D-lvA9YBEeuF_d0WEhR3Xw"/>
281 </children>
282 <styles xmi:type="notation:ShapeStyle" xmi:id="_D-lH8dYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-lH8tYBEeuF_d0WEhR3Xw" x="48" y="1128" width="147" height="100"/>
284 </children>
285 <children xmi:type="notation:Node" xmi:id="_IwsqwNYPEeuF_d0WEhR3Xw" type="2003" element="_IwJ4MNYPEeuF_d0WEhR3Xw">
286 <children xmi:type="notation:Node" xmi:id="_IwtR0NYPEeuF_d0WEhR3Xw" type="5007"/>
287 <children xmi:type="notation:Node" xmi:id="_IwtR0dYPEeuF_d0WEhR3Xw" type="7004">
288 <styles xmi:type="notation:SortingStyle" xmi:id="_IwtR0tYPEeuF_d0WEhR3Xw"/>
289 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/>
290 </children>
291 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
292 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="996" y="1476" width="120" height="100"/>
275 </children> 293 </children>
276 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> 294 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
277 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 295 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
@@ -420,7 +438,7 @@
420 </edges> 438 </edges>
421 <edges xmi:type="notation:Edge" xmi:id="_Z7WJ8KA6EeuqkpDnuik1sg" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg"> 439 <edges xmi:type="notation:Edge" xmi:id="_Z7WJ8KA6EeuqkpDnuik1sg" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_JT0o8KA4EeuqkpDnuik1sg">
422 <children xmi:type="notation:Node" xmi:id="_Z7WJ9KA6EeuqkpDnuik1sg" type="6001"> 440 <children xmi:type="notation:Node" xmi:id="_Z7WJ9KA6EeuqkpDnuik1sg" type="6001">
423 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ9aA6EeuqkpDnuik1sg" x="-49" y="125"/> 441 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ9aA6EeuqkpDnuik1sg" x="-49" y="113"/>
424 </children> 442 </children>
425 <children xmi:type="notation:Node" xmi:id="_Z7WJ9qA6EeuqkpDnuik1sg" type="6002"> 443 <children xmi:type="notation:Node" xmi:id="_Z7WJ9qA6EeuqkpDnuik1sg" type="6002">
426 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ96A6EeuqkpDnuik1sg" x="104" y="113"/> 444 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z7WJ96A6EeuqkpDnuik1sg" x="104" y="113"/>
@@ -591,41 +609,25 @@
591 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D9xNcaA8EeuqkpDnuik1sg" routing="Tree"/> 609 <styles xmi:type="notation:ConnectorStyle" xmi:id="_D9xNcaA8EeuqkpDnuik1sg" routing="Tree"/>
592 <styles xmi:type="notation:FontStyle" xmi:id="_D9xNcqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 610 <styles xmi:type="notation:FontStyle" xmi:id="_D9xNcqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
593 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9xNc6A8EeuqkpDnuik1sg" points="[0, 0, -72, 58]$[72, -58, 0, 0]"/> 611 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D9xNc6A8EeuqkpDnuik1sg" points="[0, 0, -72, 58]$[72, -58, 0, 0]"/>
594 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0hqA8EeuqkpDnuik1sg" id="(0.3050847457627119,0.0)"/> 612 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0hqA8EeuqkpDnuik1sg" id="(0.3728813559322034,0.02040816326530612)"/>
595 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0h6A8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> 613 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9x0h6A8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
596 </edges> 614 </edges>
597 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 615 <edges xmi:type="notation:Edge" xmi:id="_Vj1sQKA8EeuqkpDnuik1sg" type="4001" element="_VjwMzqA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
598 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001"> 616 <children xmi:type="notation:Node" xmi:id="_Vj1sRKA8EeuqkpDnuik1sg" type="6001">
599 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-103" y="500"/> 617 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sRaA8EeuqkpDnuik1sg" x="-79" y="526"/>
600 </children> 618 </children>
601 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002"> 619 <children xmi:type="notation:Node" xmi:id="_Vj1sRqA8EeuqkpDnuik1sg" type="6002">
602 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="105" y="-10"/> 620 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sR6A8EeuqkpDnuik1sg" x="113" y="-10"/>
603 </children> 621 </children>
604 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003"> 622 <children xmi:type="notation:Node" xmi:id="_Vj1sSKA8EeuqkpDnuik1sg" type="6003">
605 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-55" y="10"/> 623 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1sSaA8EeuqkpDnuik1sg" x="-62" y="10"/>
606 </children> 624 </children>
607 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 625 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vj1sQaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
608 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 626 <styles xmi:type="notation:FontStyle" xmi:id="_Vj1sQqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
609 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 72, 481, 730]$[-648, 72, -119, 730]$[-648, -708, -119, -50]$[-588, -708, -59, -50]"/> 627 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vj1sQ6A8EeuqkpDnuik1sg" points="[-48, 24, 481, 682]$[-648, 24, -119, 682]$[-648, -708, -119, -50]$[-588, -708, -59, -50]"/>
610 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/> 628 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sSqA8EeuqkpDnuik1sg" id="(0.4067796610169492,0.0)"/>
611 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/> 629 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vj1sS6A8EeuqkpDnuik1sg" id="(0.5,1.0)"/>
612 </edges> 630 </edges>
613 <edges xmi:type="notation:Edge" xmi:id="_ktTlwKA8EeuqkpDnuik1sg" type="4001" element="_ktEVOaA8EeuqkpDnuik1sg" source="_6KEUMKA6EeuqkpDnuik1sg" target="_jP6FkKA6EeuqkpDnuik1sg">
614 <children xmi:type="notation:Node" xmi:id="_ktUM0KA8EeuqkpDnuik1sg" type="6001">
615 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM0aA8EeuqkpDnuik1sg" x="-205" y="202"/>
616 </children>
617 <children xmi:type="notation:Node" xmi:id="_ktUM0qA8EeuqkpDnuik1sg" type="6002">
618 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM06A8EeuqkpDnuik1sg" x="100" y="122"/>
619 </children>
620 <children xmi:type="notation:Node" xmi:id="_ktUM1KA8EeuqkpDnuik1sg" type="6003">
621 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ktUM1aA8EeuqkpDnuik1sg" x="9" y="137"/>
622 </children>
623 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ktTlwaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
624 <styles xmi:type="notation:FontStyle" xmi:id="_ktTlwqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
625 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ktTlw6A8EeuqkpDnuik1sg" points="[-12, 36, 96, 502]$[-264, 36, -156, 502]$[-264, -516, -156, -50]$[-120, -516, -12, -50]"/>
626 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ktUM1qA8EeuqkpDnuik1sg" id="(0.1016949152542373,0.0)"/>
627 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ktUM16A8EeuqkpDnuik1sg" id="(0.1016949152542373,1.0)"/>
628 </edges>
629 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 631 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
630 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001"> 632 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001">
631 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="174" y="-10"/> 633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="174" y="-10"/>
@@ -644,17 +646,17 @@
644 </edges> 646 </edges>
645 <edges xmi:type="notation:Edge" xmi:id="_2VC4gKA8EeuqkpDnuik1sg" type="4001" element="_2U4ggqA8EeuqkpDnuik1sg" source="_xsq_MKA8EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg"> 647 <edges xmi:type="notation:Edge" xmi:id="_2VC4gKA8EeuqkpDnuik1sg" type="4001" element="_2U4ggqA8EeuqkpDnuik1sg" source="_xsq_MKA8EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
646 <children xmi:type="notation:Node" xmi:id="_2VC4hKA8EeuqkpDnuik1sg" type="6001"> 648 <children xmi:type="notation:Node" xmi:id="_2VC4hKA8EeuqkpDnuik1sg" type="6001">
647 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4haA8EeuqkpDnuik1sg" x="-172" y="-10"/> 649 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4haA8EeuqkpDnuik1sg" x="-328" y="-10"/>
648 </children> 650 </children>
649 <children xmi:type="notation:Node" xmi:id="_2VC4hqA8EeuqkpDnuik1sg" type="6002"> 651 <children xmi:type="notation:Node" xmi:id="_2VC4hqA8EeuqkpDnuik1sg" type="6002">
650 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4h6A8EeuqkpDnuik1sg" x="-110" y="-20"/> 652 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4h6A8EeuqkpDnuik1sg" x="-125" y="-38"/>
651 </children> 653 </children>
652 <children xmi:type="notation:Node" xmi:id="_2VC4iKA8EeuqkpDnuik1sg" type="6003"> 654 <children xmi:type="notation:Node" xmi:id="_2VC4iKA8EeuqkpDnuik1sg" type="6003">
653 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4iaA8EeuqkpDnuik1sg" x="-63" y="99"/> 655 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2VC4iaA8EeuqkpDnuik1sg" x="-17" y="103"/>
654 </children> 656 </children>
655 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2VC4gaA8EeuqkpDnuik1sg" routing="Tree"/> 657 <styles xmi:type="notation:ConnectorStyle" xmi:id="_2VC4gaA8EeuqkpDnuik1sg" routing="Tree"/>
656 <styles xmi:type="notation:FontStyle" xmi:id="_2VC4gqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 658 <styles xmi:type="notation:FontStyle" xmi:id="_2VC4gqA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
657 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2VC4g6A8EeuqkpDnuik1sg" points="[0, -6, 1048, 143]$[0, -78, 1048, 71]$[-1047, -78, 1, 71]$[-1047, -100, 1, 49]"/> 659 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2VC4g6A8EeuqkpDnuik1sg" points="[0, -6, 1048, 455]$[0, -78, 1048, 383]$[-1047, -78, 1, 383]$[-1047, -412, 1, 49]"/>
658 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4iqA8EeuqkpDnuik1sg" id="(0.3305084745762712,0.061224489795918366)"/> 660 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4iqA8EeuqkpDnuik1sg" id="(0.3305084745762712,0.061224489795918366)"/>
659 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4i6A8EeuqkpDnuik1sg" id="(0.5,0.5)"/> 661 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2VC4i6A8EeuqkpDnuik1sg" id="(0.5,0.5)"/>
660 </edges> 662 </edges>
@@ -882,6 +884,102 @@
882 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/> 884 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4ZqBJEeuqkpDnuik1sg" id="(0.0,0.5918367346938775)"/>
883 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/> 885 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_p1c4Z6BJEeuqkpDnuik1sg" id="(1.0,0.5918367346938775)"/>
884 </edges> 886 </edges>
887 <edges xmi:type="notation:Edge" xmi:id="_m_tfgNXtEeuF_d0WEhR3Xw" type="4001" element="_m-6OTNXtEeuF_d0WEhR3Xw" source="_D1D6MKA4EeuqkpDnuik1sg" target="_RzZA0KA5EeuqkpDnuik1sg">
888 <children xmi:type="notation:Node" xmi:id="_m_wi0NXtEeuF_d0WEhR3Xw" type="6001">
889 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_wi0dXtEeuF_d0WEhR3Xw" x="73" y="-10"/>
890 </children>
891 <children xmi:type="notation:Node" xmi:id="_m_xJ4NXtEeuF_d0WEhR3Xw" type="6002">
892 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xJ4dXtEeuF_d0WEhR3Xw" x="-5" y="-9"/>
893 </children>
894 <children xmi:type="notation:Node" xmi:id="_m_xw8NXtEeuF_d0WEhR3Xw" type="6003">
895 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m_xw8dXtEeuF_d0WEhR3Xw" x="-4" y="24"/>
896 </children>
897 <styles xmi:type="notation:ConnectorStyle" xmi:id="_m_tfgdXtEeuF_d0WEhR3Xw" routing="Tree"/>
898 <styles xmi:type="notation:FontStyle" xmi:id="_m_tfgtXtEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
899 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_m_tfg9XtEeuF_d0WEhR3Xw" points="[0, 0, 205, 107]$[0, -24, 205, 83]$[-204, -24, 1, 83]$[-204, -58, 1, 49]"/>
900 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QNXtEeuF_d0WEhR3Xw" id="(0.711864406779661,0.0)"/>
901 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_m_00QdXtEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
902 </edges>
903 <edges xmi:type="notation:Edge" xmi:id="_HUhwENYBEeuF_d0WEhR3Xw" type="4001" element="_HUJ8o9YBEeuF_d0WEhR3Xw" source="_D-lH8NYBEeuF_d0WEhR3Xw" target="_Ren3cKBJEeuqkpDnuik1sg">
904 <children xmi:type="notation:Node" xmi:id="_HUhwFNYBEeuF_d0WEhR3Xw" type="6001">
905 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwFdYBEeuF_d0WEhR3Xw" y="-10"/>
906 </children>
907 <children xmi:type="notation:Node" xmi:id="_HUhwFtYBEeuF_d0WEhR3Xw" type="6002">
908 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwF9YBEeuF_d0WEhR3Xw" y="10"/>
909 </children>
910 <children xmi:type="notation:Node" xmi:id="_HUhwGNYBEeuF_d0WEhR3Xw" type="6003">
911 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HUhwGdYBEeuF_d0WEhR3Xw" y="10"/>
912 </children>
913 <styles xmi:type="notation:ConnectorStyle" xmi:id="_HUhwEdYBEeuF_d0WEhR3Xw" routing="Tree"/>
914 <styles xmi:type="notation:FontStyle" xmi:id="_HUhwEtYBEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
915 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HUhwE9YBEeuF_d0WEhR3Xw" points="[0, 0, -228, 144]$[228, -144, 0, 0]"/>
916 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwGtYBEeuF_d0WEhR3Xw" id="(0.41379310344827586,0.0)"/>
917 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwG9YBEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
918 </edges>
919 <edges xmi:type="notation:Edge" xmi:id="_KnGywNYPEeuF_d0WEhR3Xw" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_IwsqwNYPEeuF_d0WEhR3Xw">
920 <children xmi:type="notation:Node" xmi:id="_KnHZ0NYPEeuF_d0WEhR3Xw" type="6001">
921 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ0dYPEeuF_d0WEhR3Xw" x="-23" y="-60"/>
922 </children>
923 <children xmi:type="notation:Node" xmi:id="_KnHZ0tYPEeuF_d0WEhR3Xw" type="6002">
924 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ09YPEeuF_d0WEhR3Xw" x="1" y="10"/>
925 </children>
926 <children xmi:type="notation:Node" xmi:id="_KnHZ1NYPEeuF_d0WEhR3Xw" type="6003">
927 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ1dYPEeuF_d0WEhR3Xw" x="-1" y="10"/>
928 </children>
929 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KnGywdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
930 <styles xmi:type="notation:FontStyle" xmi:id="_KnGywtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
931 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KnGyw9YPEeuF_d0WEhR3Xw" points="[0, 0, 89, -138]$[-110, 0, -21, -138]$[-110, 132, -21, -6]"/>
932 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ1tYPEeuF_d0WEhR3Xw" id="(0.0,0.6122448979591837)"/>
933 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ19YPEeuF_d0WEhR3Xw" id="(0.6694915254237288,0.061224489795918366)"/>
934 </edges>
935 <edges xmi:type="notation:Edge" xmi:id="_T1qNANYPEeuF_d0WEhR3Xw" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_jP6FkKA6EeuqkpDnuik1sg">
936 <children xmi:type="notation:Node" xmi:id="_T1qNBNYPEeuF_d0WEhR3Xw" type="6001">
937 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNBdYPEeuF_d0WEhR3Xw" x="-390" y="43"/>
938 </children>
939 <children xmi:type="notation:Node" xmi:id="_T1qNBtYPEeuF_d0WEhR3Xw" type="6002">
940 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNB9YPEeuF_d0WEhR3Xw" x="94" y="10"/>
941 </children>
942 <children xmi:type="notation:Node" xmi:id="_T1qNCNYPEeuF_d0WEhR3Xw" type="6003">
943 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1qNCdYPEeuF_d0WEhR3Xw" x="-154" y="10"/>
944 </children>
945 <styles xmi:type="notation:ConnectorStyle" xmi:id="_T1qNAdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
946 <styles xmi:type="notation:FontStyle" xmi:id="_T1qNAtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
947 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_T1qNA9YPEeuF_d0WEhR3Xw" points="[-36, 50, -96, 708]$[-120, 50, -180, 708]$[-120, -708, -180, -50]$[24, -708, -36, -50]"/>
948 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T1qNCtYPEeuF_d0WEhR3Xw" id="(0.3050847457627119,0.0)"/>
949 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_T1qNC9YPEeuF_d0WEhR3Xw" id="(0.3050847457627119,1.0)"/>
950 </edges>
951 <edges xmi:type="notation:Edge" xmi:id="_byTTcNYPEeuF_d0WEhR3Xw" type="4001" element="_bx-jYtYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_-O-UEKA6EeuqkpDnuik1sg">
952 <children xmi:type="notation:Node" xmi:id="_byTTdNYPEeuF_d0WEhR3Xw" type="6001">
953 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-18" y="-246"/>
954 </children>
955 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002">
956 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="-2" y="10"/>
957 </children>
958 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003">
959 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-1" y="10"/>
960 </children>
961 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
962 <styles xmi:type="notation:FontStyle" xmi:id="_byTTctYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
963 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[70, 48, -398, 466]$[480, 48, 12, 466]$[480, -418, 12, 0]"/>
964 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,0.0)"/>
965 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/>
966 </edges>
967 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
968 <children xmi:type="notation:Node" xmi:id="_-X_C4NawEeuymriYTNxK2g" type="6001">
969 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_C4dawEeuymriYTNxK2g" x="-421" y="79"/>
970 </children>
971 <children xmi:type="notation:Node" xmi:id="_-X_p8NawEeuymriYTNxK2g" type="6002">
972 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-X_p8dawEeuymriYTNxK2g" x="-71" y="82"/>
973 </children>
974 <children xmi:type="notation:Node" xmi:id="_-YARANawEeuymriYTNxK2g" type="6003">
975 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-YARAdawEeuymriYTNxK2g" x="-90" y="10"/>
976 </children>
977 <styles xmi:type="notation:ConnectorStyle" xmi:id="_-X6xcdawEeuymriYTNxK2g" routing="Rectilinear"/>
978 <styles xmi:type="notation:FontStyle" xmi:id="_-X6xctawEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
979 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-X6xc9awEeuymriYTNxK2g" points="[0, 0, -902, 144]$[50, 0, -852, 144]$[50, -72, -852, 72]$[962, -72, 60, 72]$[962, -106, 60, 38]"/>
980 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQNawEeuymriYTNxK2g" id="(1.0,0.12244897959183673)"/>
981 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-YCtQdawEeuymriYTNxK2g" id="(0.0,0.6122448979591837)"/>
982 </edges>
885 </data> 983 </data>
886 </ownedAnnotationEntries> 984 </ownedAnnotationEntries>
887 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> 985 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -897,7 +995,7 @@
897 </computedStyleDescriptions> 995 </computedStyleDescriptions>
898 </data> 996 </data>
899 </ownedAnnotationEntries> 997 </ownedAnnotationEntries>
900 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D05iIKA4EeuqkpDnuik1sg" name="Problem" tooltipText="" outgoingEdges="_4eU5TqA8EeuqkpDnuik1sg _hU64ZqA9EeuqkpDnuik1sg" width="12" height="10"> 998 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D05iIKA4EeuqkpDnuik1sg" name="Problem" tooltipText="" outgoingEdges="_4eU5TqA8EeuqkpDnuik1sg _hU64ZqA9EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10">
901 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/> 999 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
902 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/> 1000 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
903 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1001 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -920,7 +1018,7 @@
920 </ownedStyle> 1018 </ownedStyle>
921 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 1019 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
922 </ownedDiagramElements> 1020 </ownedDiagramElements>
923 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg" incomingEdges="_VtPctqA4EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _2kWqbKA9EeuqkpDnuik1sg" width="12" height="10"> 1021 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_JTstIKA4EeuqkpDnuik1sg" name="ClassDeclaration" tooltipText="" outgoingEdges="_ODPlcKA4EeuqkpDnuik1sg _VtPctqA4EeuqkpDnuik1sg _jk6-PKA4EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" incomingEdges="_VtPctqA4EeuqkpDnuik1sg _ufJ3IKA4EeuqkpDnuik1sg _Z7FrQKA6EeuqkpDnuik1sg _2kWqbKA9EeuqkpDnuik1sg" width="12" height="10">
924 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> 1022 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
925 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/> 1023 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ClassDeclaration"/>
926 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1024 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1037,7 +1135,7 @@
1037 </ownedStyle> 1135 </ownedStyle>
1038 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1136 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1039 </ownedDiagramElements> 1137 </ownedDiagramElements>
1040 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _l7apoqA6EeuqkpDnuik1sg _2U4ggqA8EeuqkpDnuik1sg" width="12" height="10"> 1138 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_RzK-YKA5EeuqkpDnuik1sg" name="NamedElement" tooltipText="" incomingEdges="_XWbypqA5EeuqkpDnuik1sg _l7apoqA6EeuqkpDnuik1sg _2U4ggqA8EeuqkpDnuik1sg _m-6OTNXtEeuF_d0WEhR3Xw" width="12" height="10">
1041 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/> 1139 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1042 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/> 1140 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NamedElement"/>
1043 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1141 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1138,7 +1236,7 @@
1138 </ownedStyle> 1236 </ownedStyle>
1139 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1237 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1140 </ownedDiagramElements> 1238 </ownedDiagramElements>
1141 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_l7apoqA6EeuqkpDnuik1sg" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg _ktEVOaA8EeuqkpDnuik1sg" width="12" height="10"> 1239 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_jPpm4KA6EeuqkpDnuik1sg" name="Variable" tooltipText="" outgoingEdges="_l7apoqA6EeuqkpDnuik1sg" incomingEdges="_oni4rKA6EeuqkpDnuik1sg _BVyUAKA7EeuqkpDnuik1sg _T1fN5tYPEeuF_d0WEhR3Xw" width="12" height="10">
1142 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/> 1240 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1143 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/> 1241 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Variable"/>
1144 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1242 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1210,7 +1308,7 @@
1210 </ownedStyle> 1308 </ownedStyle>
1211 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> 1309 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1212 </ownedDiagramElements> 1310 </ownedDiagramElements>
1213 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6J_bsKA6EeuqkpDnuik1sg" name="Atom" tooltipText="" outgoingEdges="_D9lnQKA8EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _ktEVOaA8EeuqkpDnuik1sg" incomingEdges="_UJJy0qBDEeuqkpDnuik1sg" width="12" height="10"> 1311 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_6J_bsKA6EeuqkpDnuik1sg" name="Atom" tooltipText="" outgoingEdges="_D9lnQKA8EeuqkpDnuik1sg _VjwMzqA8EeuqkpDnuik1sg _KmxbkNYPEeuF_d0WEhR3Xw" incomingEdges="_UJJy0qBDEeuqkpDnuik1sg" width="12" height="10">
1214 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/> 1312 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1215 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/> 1313 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Atom"/>
1216 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1314 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1229,7 +1327,7 @@
1229 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> 1327 <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
1230 </ownedElements> 1328 </ownedElements>
1231 </ownedDiagramElements> 1329 </ownedDiagramElements>
1232 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-O6CoKA6EeuqkpDnuik1sg" name="ImplicitVariable" tooltipText="" outgoingEdges="_BVyUAKA7EeuqkpDnuik1sg" incomingEdges="_0UtN5qA7EeuqkpDnuik1sg" width="12" height="10"> 1330 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_-O6CoKA6EeuqkpDnuik1sg" name="ImplicitVariable" tooltipText="" outgoingEdges="_BVyUAKA7EeuqkpDnuik1sg" incomingEdges="_0UtN5qA7EeuqkpDnuik1sg _bx-jYtYPEeuF_d0WEhR3Xw" width="12" height="10">
1233 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/> 1331 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1234 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/> 1332 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ImplicitVariable"/>
1235 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1333 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1363,20 +1461,6 @@
1363 </ownedStyle> 1461 </ownedStyle>
1364 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1462 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1365 </ownedDiagramElements> 1463 </ownedDiagramElements>
1366 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_ktEVOaA8EeuqkpDnuik1sg" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1367 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1368 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1369 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ktE8QKA8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1370 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1371 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ktE8QqA8EeuqkpDnuik1sg" showIcon="false">
1372 <customFeatures>labelSize</customFeatures>
1373 </centerLabelStyle>
1374 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ktE8QaA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1375 <customFeatures>labelSize</customFeatures>
1376 </endLabelStyle>
1377 </ownedStyle>
1378 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1379 </ownedDiagramElements>
1380 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10"> 1464 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10">
1381 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1465 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1382 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1466 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
@@ -1410,7 +1494,7 @@
1410 </ownedStyle> 1494 </ownedStyle>
1411 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1495 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1412 </ownedDiagramElements> 1496 </ownedDiagramElements>
1413 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_2U4ggqA8EeuqkpDnuik1sg" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg" width="12" height="10"> 1497 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_2U4ggqA8EeuqkpDnuik1sg" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g" width="12" height="10">
1414 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1498 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1415 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1499 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1416 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1500 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1638,7 +1722,7 @@
1638 </ownedStyle> 1722 </ownedStyle>
1639 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1723 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1640 </ownedDiagramElements> 1724 </ownedDiagramElements>
1641 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ReiX4KBJEeuqkpDnuik1sg" name="Multiplicity" tooltipText="" incomingEdges="_c_boQqBJEeuqkpDnuik1sg _dn26MqBJEeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg" width="12" height="10"> 1725 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ReiX4KBJEeuqkpDnuik1sg" name="Multiplicity" tooltipText="" incomingEdges="_c_boQqBJEeuqkpDnuik1sg _dn26MqBJEeuqkpDnuik1sg _n5fiHqBJEeuqkpDnuik1sg _p1JWcqBJEeuqkpDnuik1sg _HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1642 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/> 1726 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1643 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/> 1727 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Multiplicity"/>
1644 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1728 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1746,6 +1830,97 @@
1746 </ownedStyle> 1830 </ownedStyle>
1747 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> 1831 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1748 </ownedDiagramElements> 1832 </ownedDiagramElements>
1833 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_m-6OTNXtEeuF_d0WEhR3Xw" sourceNode="_D05iIKA4EeuqkpDnuik1sg" targetNode="_RzK-YKA5EeuqkpDnuik1sg">
1834 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1835 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Problem"/>
1836 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_m-61UNXtEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1837 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1838 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_m-61UdXtEeuF_d0WEhR3Xw" showIcon="false">
1839 <labelFormat>italic</labelFormat>
1840 </beginLabelStyle>
1841 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_m-61UtXtEeuF_d0WEhR3Xw" showIcon="false"/>
1842 </ownedStyle>
1843 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1844 </ownedDiagramElements>
1845 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_D9_5INYBEeuF_d0WEhR3Xw" name="UnboundedMultiplicity" tooltipText="" outgoingEdges="_HUJ8o9YBEeuF_d0WEhR3Xw" width="12" height="10">
1846 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1847 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1848 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1849 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1850 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1851 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_D-DjgNYBEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1852 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1853 </ownedStyle>
1854 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1855 </ownedDiagramElements>
1856 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_HUJ8o9YBEeuF_d0WEhR3Xw" sourceNode="_D9_5INYBEeuF_d0WEhR3Xw" targetNode="_ReiX4KBJEeuqkpDnuik1sg">
1857 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1858 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//UnboundedMultiplicity"/>
1859 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_HUKjsNYBEeuF_d0WEhR3Xw" targetArrow="InputClosedArrow" routingStyle="tree">
1860 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
1861 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_HUKjsdYBEeuF_d0WEhR3Xw" showIcon="false">
1862 <labelFormat>italic</labelFormat>
1863 </beginLabelStyle>
1864 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_HUKjstYBEeuF_d0WEhR3Xw" showIcon="false"/>
1865 </ownedStyle>
1866 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
1867 </ownedDiagramElements>
1868 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IwJ4MNYPEeuF_d0WEhR3Xw" name="Argument" tooltipText="" outgoingEdges="_T1fN5tYPEeuF_d0WEhR3Xw _bx-jYtYPEeuF_d0WEhR3Xw" incomingEdges="_KmxbkNYPEeuF_d0WEhR3Xw" width="12" height="10">
1869 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1870 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
1871 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1872 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1873 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1874 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_IwLtYNYPEeuF_d0WEhR3Xw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1875 <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
1876 </ownedStyle>
1877 <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
1878 </ownedDiagramElements>
1879 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KmxbkNYPEeuF_d0WEhR3Xw" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_IwJ4MNYPEeuF_d0WEhR3Xw">
1880 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1881 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1882 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_P-mb4NYPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1883 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_P-mb4tYPEeuF_d0WEhR3Xw" showIcon="false"/>
1884 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_P-mb4dYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1885 </ownedStyle>
1886 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1887 </ownedDiagramElements>
1888 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_jPpm4KA6EeuqkpDnuik1sg">
1889 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/>
1890 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variable"/>
1891 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0">
1892 <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']/@style"/>
1893 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false">
1894 <customFeatures>labelSize</customFeatures>
1895 </centerLabelStyle>
1896 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_T1fN6NYPEeuF_d0WEhR3Xw" showIcon="false" labelColor="39,76,114">
1897 <customFeatures>labelSize</customFeatures>
1898 </endLabelStyle>
1899 </ownedStyle>
1900 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1901 </ownedDiagramElements>
1902 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bx-jYtYPEeuF_d0WEhR3Xw" name="[0..1] singletonVariable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_-O6CoKA6EeuqkpDnuik1sg">
1903 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1904 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/>
1905 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dcHJ49YPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1906 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dcHJ5dYPEeuF_d0WEhR3Xw" showIcon="false"/>
1907 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dcHJ5NYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
1908 </ownedStyle>
1909 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1910 </ownedDiagramElements>
1911 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_-XLKltawEeuymriYTNxK2g" name="[0..1] newNode" sourceNode="_JTstIKA4EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1912 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1913 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ClassDeclaration/newNode"/>
1914 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_-XMYsNawEeuymriYTNxK2g" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1915 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_-XMYstawEeuymriYTNxK2g" showIcon="false">
1916 <customFeatures>labelSize</customFeatures>
1917 </centerLabelStyle>
1918 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_-XMYsdawEeuymriYTNxK2g" showIcon="false" labelColor="39,76,114">
1919 <customFeatures>labelSize</customFeatures>
1920 </endLabelStyle>
1921 </ownedStyle>
1922 <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
1923 </ownedDiagramElements>
1749 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 1924 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
1750 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> 1925 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
1751 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 1926 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
new file mode 100644
index 00000000..5442f8e0
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
@@ -0,0 +1,69 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul>
19 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument()
21 * @model
22 * @generated
23 */
24public interface Argument extends EObject {
25 /**
26 * Returns the value of the '<em><b>Variable</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable</em>' reference.
30 * @see #setVariable(Variable)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_Variable()
32 * @model
33 * @generated
34 */
35 Variable getVariable();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable</em>' reference.
42 * @see #getVariable()
43 * @generated
44 */
45 void setVariable(Variable value);
46
47 /**
48 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @return the value of the '<em>Singleton Variable</em>' containment reference.
52 * @see #setSingletonVariable(ImplicitVariable)
53 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_SingletonVariable()
54 * @model containment="true"
55 * @generated
56 */
57 ImplicitVariable getSingletonVariable();
58
59 /**
60 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
64 * @see #getSingletonVariable()
65 * @generated
66 */
67 void setSingletonVariable(ImplicitVariable value);
68
69} // Argument
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
index bee08d8d..d1b4d3fe 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Atom.java
@@ -14,8 +14,8 @@ import org.eclipse.emf.common.util.EList;
14 * </p> 14 * </p>
15 * <ul> 15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#isTransitiveClosure <em>Transitive Closure</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}</li>
19 * </ul> 19 * </ul>
20 * 20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom() 21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom()
@@ -46,16 +46,16 @@ public interface Atom extends Literal {
46 void setRelation(Relation value); 46 void setRelation(Relation value);
47 47
48 /** 48 /**
49 * Returns the value of the '<em><b>Arguments</b></em>' reference list. 49 * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Variable}. 50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Argument}.
51 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Arguments</em>' reference list. 53 * @return the value of the '<em>Arguments</em>' containment reference list.
54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments() 54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAtom_Arguments()
55 * @model 55 * @model containment="true"
56 * @generated 56 * @generated
57 */ 57 */
58 EList<Variable> getArguments(); 58 EList<Argument> getArguments();
59 59
60 /** 60 /**
61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute. 61 * Returns the value of the '<em><b>Transitive Closure</b></em>' attribute.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
index 7212d006..1387575a 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ClassDeclaration.java
@@ -16,6 +16,7 @@ import org.eclipse.emf.common.util.EList;
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#isAbstract <em>Abstract</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getSuperTypes <em>Super Types</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li> 18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getReferenceDeclarations <em>Reference Declarations</em>}</li>
19 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}</li>
19 * </ul> 20 * </ul>
20 * 21 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration() 22 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration()
@@ -69,4 +70,26 @@ public interface ClassDeclaration extends Relation, Statement {
69 */ 70 */
70 EList<ReferenceDeclaration> getReferenceDeclarations(); 71 EList<ReferenceDeclaration> getReferenceDeclarations();
71 72
73 /**
74 * Returns the value of the '<em><b>New Node</b></em>' containment reference.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @return the value of the '<em>New Node</em>' containment reference.
78 * @see #setNewNode(Node)
79 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getClassDeclaration_NewNode()
80 * @model containment="true"
81 * @generated
82 */
83 Node getNewNode();
84
85 /**
86 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}' containment reference.
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @param value the new value of the '<em>New Node</em>' containment reference.
90 * @see #getNewNode()
91 * @generated
92 */
93 void setNewNode(Node value);
94
72} // ClassDeclaration 95} // ClassDeclaration
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
index 3342767d..7e19bd22 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Problem.java
@@ -4,8 +4,6 @@ package org.eclipse.viatra.solver.language.model.problem;
4 4
5import org.eclipse.emf.common.util.EList; 5import org.eclipse.emf.common.util.EList;
6 6
7import org.eclipse.emf.ecore.EObject;
8
9/** 7/**
10 * <!-- begin-user-doc --> 8 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Problem</b></em>'. 9 * A representation of the model object '<em><b>Problem</b></em>'.
@@ -23,7 +21,7 @@ import org.eclipse.emf.ecore.EObject;
23 * @model 21 * @model
24 * @generated 22 * @generated
25 */ 23 */
26public interface Problem extends EObject { 24public interface Problem extends NamedElement {
27 /** 25 /**
28 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list. 26 * Returns the value of the '<em><b>Nodes</b></em>' containment reference list.
29 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}. 27 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.Node}.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
index 301f7cce..bdfc326b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
@@ -157,6 +157,24 @@ public interface ProblemFactory extends EFactory {
157 ExactMultiplicity createExactMultiplicity(); 157 ExactMultiplicity createExactMultiplicity();
158 158
159 /** 159 /**
160 * Returns a new object of class '<em>Unbounded Multiplicity</em>'.
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @return a new object of class '<em>Unbounded Multiplicity</em>'.
164 * @generated
165 */
166 UnboundedMultiplicity createUnboundedMultiplicity();
167
168 /**
169 * Returns a new object of class '<em>Argument</em>'.
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Argument</em>'.
173 * @generated
174 */
175 Argument createArgument();
176
177 /**
160 * Returns the package supported by this factory. 178 * Returns the package supported by this factory.
161 * <!-- begin-user-doc --> 179 * <!-- begin-user-doc -->
162 * <!-- end-user-doc --> 180 * <!-- end-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
index 59906b1f..1358eaeb 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
@@ -58,87 +58,96 @@ public interface ProblemPackage extends EPackage {
58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init(); 58 ProblemPackage eINSTANCE = org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl.init();
59 59
60 /** 60 /**
61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class. 61 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class.
62 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
64 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl 64 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem() 65 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
66 * @generated 66 * @generated
67 */ 67 */
68 int PROBLEM = 0; 68 int NAMED_ELEMENT = 4;
69 69
70 /** 70 /**
71 * The feature id for the '<em><b>Nodes</b></em>' containment reference list. 71 * The feature id for the '<em><b>Name</b></em>' attribute.
72 * <!-- begin-user-doc --> 72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc --> 73 * <!-- end-user-doc -->
74 * @generated 74 * @generated
75 * @ordered 75 * @ordered
76 */ 76 */
77 int PROBLEM__NODES = 0; 77 int NAMED_ELEMENT__NAME = 0;
78 78
79 /** 79 /**
80 * The feature id for the '<em><b>Statements</b></em>' containment reference list. 80 * The number of structural features of the '<em>Named Element</em>' class.
81 * <!-- begin-user-doc --> 81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc --> 82 * <!-- end-user-doc -->
83 * @generated 83 * @generated
84 * @ordered 84 * @ordered
85 */ 85 */
86 int PROBLEM__STATEMENTS = 1; 86 int NAMED_ELEMENT_FEATURE_COUNT = 1;
87 87
88 /** 88 /**
89 * The number of structural features of the '<em>Problem</em>' class. 89 * The number of operations of the '<em>Named Element</em>' class.
90 * <!-- begin-user-doc --> 90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc --> 91 * <!-- end-user-doc -->
92 * @generated 92 * @generated
93 * @ordered 93 * @ordered
94 */ 94 */
95 int PROBLEM_FEATURE_COUNT = 2; 95 int NAMED_ELEMENT_OPERATION_COUNT = 0;
96 96
97 /** 97 /**
98 * The number of operations of the '<em>Problem</em>' class. 98 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl <em>Problem</em>}' class.
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemImpl
102 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getProblem()
103 * @generated
104 */
105 int PROBLEM = 0;
106
107 /**
108 * The feature id for the '<em><b>Name</b></em>' attribute.
99 * <!-- begin-user-doc --> 109 * <!-- begin-user-doc -->
100 * <!-- end-user-doc --> 110 * <!-- end-user-doc -->
101 * @generated 111 * @generated
102 * @ordered 112 * @ordered
103 */ 113 */
104 int PROBLEM_OPERATION_COUNT = 0; 114 int PROBLEM__NAME = NAMED_ELEMENT__NAME;
105 115
106 /** 116 /**
107 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl <em>Named Element</em>}' class. 117 * The feature id for the '<em><b>Nodes</b></em>' containment reference list.
108 * <!-- begin-user-doc --> 118 * <!-- begin-user-doc -->
109 * <!-- end-user-doc --> 119 * <!-- end-user-doc -->
110 * @see org.eclipse.viatra.solver.language.model.problem.impl.NamedElementImpl
111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNamedElement()
112 * @generated 120 * @generated
121 * @ordered
113 */ 122 */
114 int NAMED_ELEMENT = 4; 123 int PROBLEM__NODES = NAMED_ELEMENT_FEATURE_COUNT + 0;
115 124
116 /** 125 /**
117 * The feature id for the '<em><b>Name</b></em>' attribute. 126 * The feature id for the '<em><b>Statements</b></em>' containment reference list.
118 * <!-- begin-user-doc --> 127 * <!-- begin-user-doc -->
119 * <!-- end-user-doc --> 128 * <!-- end-user-doc -->
120 * @generated 129 * @generated
121 * @ordered 130 * @ordered
122 */ 131 */
123 int NAMED_ELEMENT__NAME = 0; 132 int PROBLEM__STATEMENTS = NAMED_ELEMENT_FEATURE_COUNT + 1;
124 133
125 /** 134 /**
126 * The number of structural features of the '<em>Named Element</em>' class. 135 * The number of structural features of the '<em>Problem</em>' class.
127 * <!-- begin-user-doc --> 136 * <!-- begin-user-doc -->
128 * <!-- end-user-doc --> 137 * <!-- end-user-doc -->
129 * @generated 138 * @generated
130 * @ordered 139 * @ordered
131 */ 140 */
132 int NAMED_ELEMENT_FEATURE_COUNT = 1; 141 int PROBLEM_FEATURE_COUNT = NAMED_ELEMENT_FEATURE_COUNT + 2;
133 142
134 /** 143 /**
135 * The number of operations of the '<em>Named Element</em>' class. 144 * The number of operations of the '<em>Problem</em>' class.
136 * <!-- begin-user-doc --> 145 * <!-- begin-user-doc -->
137 * <!-- end-user-doc --> 146 * <!-- end-user-doc -->
138 * @generated 147 * @generated
139 * @ordered 148 * @ordered
140 */ 149 */
141 int NAMED_ELEMENT_OPERATION_COUNT = 0; 150 int PROBLEM_OPERATION_COUNT = NAMED_ELEMENT_OPERATION_COUNT + 0;
142 151
143 /** 152 /**
144 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class. 153 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RelationImpl <em>Relation</em>}' class.
@@ -224,13 +233,22 @@ public interface ProblemPackage extends EPackage {
224 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2; 233 int CLASS_DECLARATION__REFERENCE_DECLARATIONS = RELATION_FEATURE_COUNT + 2;
225 234
226 /** 235 /**
236 * The feature id for the '<em><b>New Node</b></em>' containment reference.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int CLASS_DECLARATION__NEW_NODE = RELATION_FEATURE_COUNT + 3;
243
244 /**
227 * The number of structural features of the '<em>Class Declaration</em>' class. 245 * The number of structural features of the '<em>Class Declaration</em>' class.
228 * <!-- begin-user-doc --> 246 * <!-- begin-user-doc -->
229 * <!-- end-user-doc --> 247 * <!-- end-user-doc -->
230 * @generated 248 * @generated
231 * @ordered 249 * @ordered
232 */ 250 */
233 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 3; 251 int CLASS_DECLARATION_FEATURE_COUNT = RELATION_FEATURE_COUNT + 4;
234 252
235 /** 253 /**
236 * The number of operations of the '<em>Class Declaration</em>' class. 254 * The number of operations of the '<em>Class Declaration</em>' class.
@@ -592,22 +610,22 @@ public interface ProblemPackage extends EPackage {
592 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0; 610 int ATOM__RELATION = LITERAL_FEATURE_COUNT + 0;
593 611
594 /** 612 /**
595 * The feature id for the '<em><b>Arguments</b></em>' reference list. 613 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute.
596 * <!-- begin-user-doc --> 614 * <!-- begin-user-doc -->
597 * <!-- end-user-doc --> 615 * <!-- end-user-doc -->
598 * @generated 616 * @generated
599 * @ordered 617 * @ordered
600 */ 618 */
601 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 1; 619 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 1;
602 620
603 /** 621 /**
604 * The feature id for the '<em><b>Transitive Closure</b></em>' attribute. 622 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
605 * <!-- begin-user-doc --> 623 * <!-- begin-user-doc -->
606 * <!-- end-user-doc --> 624 * <!-- end-user-doc -->
607 * @generated 625 * @generated
608 * @ordered 626 * @ordered
609 */ 627 */
610 int ATOM__TRANSITIVE_CLOSURE = LITERAL_FEATURE_COUNT + 2; 628 int ATOM__ARGUMENTS = LITERAL_FEATURE_COUNT + 2;
611 629
612 /** 630 /**
613 * The number of structural features of the '<em>Atom</em>' class. 631 * The number of structural features of the '<em>Atom</em>' class.
@@ -1034,6 +1052,80 @@ public interface ProblemPackage extends EPackage {
1034 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0; 1052 int EXACT_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1035 1053
1036 /** 1054 /**
1055 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
1056 * <!-- begin-user-doc -->
1057 * <!-- end-user-doc -->
1058 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
1059 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
1060 * @generated
1061 */
1062 int UNBOUNDED_MULTIPLICITY = 22;
1063
1064 /**
1065 * The number of structural features of the '<em>Unbounded Multiplicity</em>' class.
1066 * <!-- begin-user-doc -->
1067 * <!-- end-user-doc -->
1068 * @generated
1069 * @ordered
1070 */
1071 int UNBOUNDED_MULTIPLICITY_FEATURE_COUNT = MULTIPLICITY_FEATURE_COUNT + 0;
1072
1073 /**
1074 * The number of operations of the '<em>Unbounded Multiplicity</em>' class.
1075 * <!-- begin-user-doc -->
1076 * <!-- end-user-doc -->
1077 * @generated
1078 * @ordered
1079 */
1080 int UNBOUNDED_MULTIPLICITY_OPERATION_COUNT = MULTIPLICITY_OPERATION_COUNT + 0;
1081
1082 /**
1083 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
1087 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
1088 * @generated
1089 */
1090 int ARGUMENT = 23;
1091
1092 /**
1093 * The feature id for the '<em><b>Variable</b></em>' reference.
1094 * <!-- begin-user-doc -->
1095 * <!-- end-user-doc -->
1096 * @generated
1097 * @ordered
1098 */
1099 int ARGUMENT__VARIABLE = 0;
1100
1101 /**
1102 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
1103 * <!-- begin-user-doc -->
1104 * <!-- end-user-doc -->
1105 * @generated
1106 * @ordered
1107 */
1108 int ARGUMENT__SINGLETON_VARIABLE = 1;
1109
1110 /**
1111 * The number of structural features of the '<em>Argument</em>' class.
1112 * <!-- begin-user-doc -->
1113 * <!-- end-user-doc -->
1114 * @generated
1115 * @ordered
1116 */
1117 int ARGUMENT_FEATURE_COUNT = 2;
1118
1119 /**
1120 * The number of operations of the '<em>Argument</em>' class.
1121 * <!-- begin-user-doc -->
1122 * <!-- end-user-doc -->
1123 * @generated
1124 * @ordered
1125 */
1126 int ARGUMENT_OPERATION_COUNT = 0;
1127
1128 /**
1037 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 1129 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1038 * <!-- begin-user-doc --> 1130 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc --> 1131 * <!-- end-user-doc -->
@@ -1041,7 +1133,7 @@ public interface ProblemPackage extends EPackage {
1041 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue() 1133 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1042 * @generated 1134 * @generated
1043 */ 1135 */
1044 int LOGIC_VALUE = 22; 1136 int LOGIC_VALUE = 24;
1045 1137
1046 /** 1138 /**
1047 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'. 1139 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
@@ -1129,6 +1221,17 @@ public interface ProblemPackage extends EPackage {
1129 EReference getClassDeclaration_ReferenceDeclarations(); 1221 EReference getClassDeclaration_ReferenceDeclarations();
1130 1222
1131 /** 1223 /**
1224 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode <em>New Node</em>}'.
1225 * <!-- begin-user-doc -->
1226 * <!-- end-user-doc -->
1227 * @return the meta object for the containment reference '<em>New Node</em>'.
1228 * @see org.eclipse.viatra.solver.language.model.problem.ClassDeclaration#getNewNode()
1229 * @see #getClassDeclaration()
1230 * @generated
1231 */
1232 EReference getClassDeclaration_NewNode();
1233
1234 /**
1132 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'. 1235 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration <em>Reference Declaration</em>}'.
1133 * <!-- begin-user-doc --> 1236 * <!-- begin-user-doc -->
1134 * <!-- end-user-doc --> 1237 * <!-- end-user-doc -->
@@ -1330,10 +1433,10 @@ public interface ProblemPackage extends EPackage {
1330 EReference getAtom_Relation(); 1433 EReference getAtom_Relation();
1331 1434
1332 /** 1435 /**
1333 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'. 1436 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Atom#getArguments <em>Arguments</em>}'.
1334 * <!-- begin-user-doc --> 1437 * <!-- begin-user-doc -->
1335 * <!-- end-user-doc --> 1438 * <!-- end-user-doc -->
1336 * @return the meta object for the reference list '<em>Arguments</em>'. 1439 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1337 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments() 1440 * @see org.eclipse.viatra.solver.language.model.problem.Atom#getArguments()
1338 * @see #getAtom() 1441 * @see #getAtom()
1339 * @generated 1442 * @generated
@@ -1594,6 +1697,48 @@ public interface ProblemPackage extends EPackage {
1594 EAttribute getExactMultiplicity_ExactValue(); 1697 EAttribute getExactMultiplicity_ExactValue();
1595 1698
1596 /** 1699 /**
1700 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
1701 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc -->
1703 * @return the meta object for class '<em>Unbounded Multiplicity</em>'.
1704 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
1705 * @generated
1706 */
1707 EClass getUnboundedMultiplicity();
1708
1709 /**
1710 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
1711 * <!-- begin-user-doc -->
1712 * <!-- end-user-doc -->
1713 * @return the meta object for class '<em>Argument</em>'.
1714 * @see org.eclipse.viatra.solver.language.model.problem.Argument
1715 * @generated
1716 */
1717 EClass getArgument();
1718
1719 /**
1720 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariable <em>Variable</em>}'.
1721 * <!-- begin-user-doc -->
1722 * <!-- end-user-doc -->
1723 * @return the meta object for the reference '<em>Variable</em>'.
1724 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariable()
1725 * @see #getArgument()
1726 * @generated
1727 */
1728 EReference getArgument_Variable();
1729
1730 /**
1731 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'.
1732 * <!-- begin-user-doc -->
1733 * <!-- end-user-doc -->
1734 * @return the meta object for the containment reference '<em>Singleton Variable</em>'.
1735 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable()
1736 * @see #getArgument()
1737 * @generated
1738 */
1739 EReference getArgument_SingletonVariable();
1740
1741 /**
1597 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'. 1742 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1598 * <!-- begin-user-doc --> 1743 * <!-- begin-user-doc -->
1599 * <!-- end-user-doc --> 1744 * <!-- end-user-doc -->
@@ -1697,6 +1842,14 @@ public interface ProblemPackage extends EPackage {
1697 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations(); 1842 EReference CLASS_DECLARATION__REFERENCE_DECLARATIONS = eINSTANCE.getClassDeclaration_ReferenceDeclarations();
1698 1843
1699 /** 1844 /**
1845 * The meta object literal for the '<em><b>New Node</b></em>' containment reference feature.
1846 * <!-- begin-user-doc -->
1847 * <!-- end-user-doc -->
1848 * @generated
1849 */
1850 EReference CLASS_DECLARATION__NEW_NODE = eINSTANCE.getClassDeclaration_NewNode();
1851
1852 /**
1700 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class. 1853 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ReferenceDeclarationImpl <em>Reference Declaration</em>}' class.
1701 * <!-- begin-user-doc --> 1854 * <!-- begin-user-doc -->
1702 * <!-- end-user-doc --> 1855 * <!-- end-user-doc -->
@@ -1865,7 +2018,7 @@ public interface ProblemPackage extends EPackage {
1865 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation(); 2018 EReference ATOM__RELATION = eINSTANCE.getAtom_Relation();
1866 2019
1867 /** 2020 /**
1868 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature. 2021 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
1869 * <!-- begin-user-doc --> 2022 * <!-- begin-user-doc -->
1870 * <!-- end-user-doc --> 2023 * <!-- end-user-doc -->
1871 * @generated 2024 * @generated
@@ -2087,6 +2240,42 @@ public interface ProblemPackage extends EPackage {
2087 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue(); 2240 EAttribute EXACT_MULTIPLICITY__EXACT_VALUE = eINSTANCE.getExactMultiplicity_ExactValue();
2088 2241
2089 /** 2242 /**
2243 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl <em>Unbounded Multiplicity</em>}' class.
2244 * <!-- begin-user-doc -->
2245 * <!-- end-user-doc -->
2246 * @see org.eclipse.viatra.solver.language.model.problem.impl.UnboundedMultiplicityImpl
2247 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getUnboundedMultiplicity()
2248 * @generated
2249 */
2250 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity();
2251
2252 /**
2253 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
2254 * <!-- begin-user-doc -->
2255 * <!-- end-user-doc -->
2256 * @see org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl
2257 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
2258 * @generated
2259 */
2260 EClass ARGUMENT = eINSTANCE.getArgument();
2261
2262 /**
2263 * The meta object literal for the '<em><b>Variable</b></em>' reference feature.
2264 * <!-- begin-user-doc -->
2265 * <!-- end-user-doc -->
2266 * @generated
2267 */
2268 EReference ARGUMENT__VARIABLE = eINSTANCE.getArgument_Variable();
2269
2270 /**
2271 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
2272 * <!-- begin-user-doc -->
2273 * <!-- end-user-doc -->
2274 * @generated
2275 */
2276 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable();
2277
2278 /**
2090 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 2279 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2091 * <!-- begin-user-doc --> 2280 * <!-- begin-user-doc -->
2092 * <!-- end-user-doc --> 2281 * <!-- end-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
new file mode 100644
index 00000000..725311a4
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/UnboundedMultiplicity.java
@@ -0,0 +1,16 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getUnboundedMultiplicity()
12 * @model
13 * @generated
14 */
15public interface UnboundedMultiplicity extends Multiplicity {
16} // UnboundedMultiplicity
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
new file mode 100644
index 00000000..9f6bc7ae
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
@@ -0,0 +1,247 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.viatra.solver.language.model.problem.Argument;
15import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
16import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.Variable;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Argument</b></em>'.
22 * <!-- end-user-doc -->
23 * <p>
24 * The following features are implemented:
25 * </p>
26 * <ul>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getVariable <em>Variable</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /**
35 * The cached value of the '{@link #getVariable() <em>Variable</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getVariable()
39 * @generated
40 * @ordered
41 */
42 protected Variable variable;
43
44 /**
45 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getSingletonVariable()
49 * @generated
50 * @ordered
51 */
52 protected ImplicitVariable singletonVariable;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected ArgumentImpl() {
60 super();
61 }
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 @Override
69 protected EClass eStaticClass() {
70 return ProblemPackage.Literals.ARGUMENT;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public Variable getVariable() {
79 if (variable != null && variable.eIsProxy()) {
80 InternalEObject oldVariable = (InternalEObject) variable;
81 variable = (Variable) eResolveProxy(oldVariable);
82 if (variable != oldVariable) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE,
85 oldVariable, variable));
86 }
87 }
88 return variable;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public Variable basicGetVariable() {
97 return variable;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariable(Variable newVariable) {
106 Variable oldVariable = variable;
107 variable = newVariable;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE, oldVariable,
110 variable));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public ImplicitVariable getSingletonVariable() {
119 return singletonVariable;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetSingletonVariable(ImplicitVariable newSingletonVariable, NotificationChain msgs) {
128 ImplicitVariable oldSingletonVariable = singletonVariable;
129 singletonVariable = newSingletonVariable;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable, newSingletonVariable);
133 if (msgs == null)
134 msgs = notification;
135 else
136 msgs.add(notification);
137 }
138 return msgs;
139 }
140
141 /**
142 * <!-- begin-user-doc -->
143 * <!-- end-user-doc -->
144 * @generated
145 */
146 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
147 if (newSingletonVariable != singletonVariable) {
148 NotificationChain msgs = null;
149 if (singletonVariable != null)
150 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
152 if (newSingletonVariable != null)
153 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.ARGUMENT__SINGLETON_VARIABLE, null, msgs);
155 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__SINGLETON_VARIABLE,
160 newSingletonVariable, newSingletonVariable));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
170 switch (featureID) {
171 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
172 return basicSetSingletonVariable(null, msgs);
173 }
174 return super.eInverseRemove(otherEnd, featureID, msgs);
175 }
176
177 /**
178 * <!-- begin-user-doc -->
179 * <!-- end-user-doc -->
180 * @generated
181 */
182 @Override
183 public Object eGet(int featureID, boolean resolve, boolean coreType) {
184 switch (featureID) {
185 case ProblemPackage.ARGUMENT__VARIABLE:
186 if (resolve)
187 return getVariable();
188 return basicGetVariable();
189 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
190 return getSingletonVariable();
191 }
192 return super.eGet(featureID, resolve, coreType);
193 }
194
195 /**
196 * <!-- begin-user-doc -->
197 * <!-- end-user-doc -->
198 * @generated
199 */
200 @Override
201 public void eSet(int featureID, Object newValue) {
202 switch (featureID) {
203 case ProblemPackage.ARGUMENT__VARIABLE:
204 setVariable((Variable) newValue);
205 return;
206 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
207 setSingletonVariable((ImplicitVariable) newValue);
208 return;
209 }
210 super.eSet(featureID, newValue);
211 }
212
213 /**
214 * <!-- begin-user-doc -->
215 * <!-- end-user-doc -->
216 * @generated
217 */
218 @Override
219 public void eUnset(int featureID) {
220 switch (featureID) {
221 case ProblemPackage.ARGUMENT__VARIABLE:
222 setVariable((Variable) null);
223 return;
224 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
225 setSingletonVariable((ImplicitVariable) null);
226 return;
227 }
228 super.eUnset(featureID);
229 }
230
231 /**
232 * <!-- begin-user-doc -->
233 * <!-- end-user-doc -->
234 * @generated
235 */
236 @Override
237 public boolean eIsSet(int featureID) {
238 switch (featureID) {
239 case ProblemPackage.ARGUMENT__VARIABLE:
240 return variable != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //ArgumentImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
index 4571db14..d70fe90b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AtomImpl.java
@@ -6,6 +6,7 @@ import java.util.Collection;
6 6
7import org.eclipse.emf.common.notify.Notification; 7import org.eclipse.emf.common.notify.Notification;
8 8
9import org.eclipse.emf.common.notify.NotificationChain;
9import org.eclipse.emf.common.util.EList; 10import org.eclipse.emf.common.util.EList;
10 11
11import org.eclipse.emf.ecore.EClass; 12import org.eclipse.emf.ecore.EClass;
@@ -13,12 +14,12 @@ import org.eclipse.emf.ecore.InternalEObject;
13 14
14import org.eclipse.emf.ecore.impl.ENotificationImpl; 15import org.eclipse.emf.ecore.impl.ENotificationImpl;
15 16
16import org.eclipse.emf.ecore.util.EObjectResolvingEList; 17import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17 18import org.eclipse.emf.ecore.util.InternalEList;
19import org.eclipse.viatra.solver.language.model.problem.Argument;
18import org.eclipse.viatra.solver.language.model.problem.Atom; 20import org.eclipse.viatra.solver.language.model.problem.Atom;
19import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 21import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
20import org.eclipse.viatra.solver.language.model.problem.Relation; 22import org.eclipse.viatra.solver.language.model.problem.Relation;
21import org.eclipse.viatra.solver.language.model.problem.Variable;
22 23
23/** 24/**
24 * <!-- begin-user-doc --> 25 * <!-- begin-user-doc -->
@@ -29,8 +30,8 @@ import org.eclipse.viatra.solver.language.model.problem.Variable;
29 * </p> 30 * </p>
30 * <ul> 31 * <ul>
31 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li> 32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getRelation <em>Relation</em>}</li>
32 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li> 33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#isTransitiveClosure <em>Transitive Closure</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AtomImpl#getArguments <em>Arguments</em>}</li>
34 * </ul> 35 * </ul>
35 * 36 *
36 * @generated 37 * @generated
@@ -47,34 +48,34 @@ public class AtomImpl extends LiteralImpl implements Atom {
47 protected Relation relation; 48 protected Relation relation;
48 49
49 /** 50 /**
50 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list. 51 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
51 * <!-- begin-user-doc --> 52 * <!-- begin-user-doc -->
52 * <!-- end-user-doc --> 53 * <!-- end-user-doc -->
53 * @see #getArguments() 54 * @see #isTransitiveClosure()
54 * @generated 55 * @generated
55 * @ordered 56 * @ordered
56 */ 57 */
57 protected EList<Variable> arguments; 58 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false;
58 59
59 /** 60 /**
60 * The default value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute. 61 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute.
61 * <!-- begin-user-doc --> 62 * <!-- begin-user-doc -->
62 * <!-- end-user-doc --> 63 * <!-- end-user-doc -->
63 * @see #isTransitiveClosure() 64 * @see #isTransitiveClosure()
64 * @generated 65 * @generated
65 * @ordered 66 * @ordered
66 */ 67 */
67 protected static final boolean TRANSITIVE_CLOSURE_EDEFAULT = false; 68 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT;
68 69
69 /** 70 /**
70 * The cached value of the '{@link #isTransitiveClosure() <em>Transitive Closure</em>}' attribute. 71 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
71 * <!-- begin-user-doc --> 72 * <!-- begin-user-doc -->
72 * <!-- end-user-doc --> 73 * <!-- end-user-doc -->
73 * @see #isTransitiveClosure() 74 * @see #getArguments()
74 * @generated 75 * @generated
75 * @ordered 76 * @ordered
76 */ 77 */
77 protected boolean transitiveClosure = TRANSITIVE_CLOSURE_EDEFAULT; 78 protected EList<Argument> arguments;
78 79
79 /** 80 /**
80 * <!-- begin-user-doc --> 81 * <!-- begin-user-doc -->
@@ -140,9 +141,9 @@ public class AtomImpl extends LiteralImpl implements Atom {
140 * <!-- end-user-doc --> 141 * <!-- end-user-doc -->
141 * @generated 142 * @generated
142 */ 143 */
143 public EList<Variable> getArguments() { 144 public EList<Argument> getArguments() {
144 if (arguments == null) { 145 if (arguments == null) {
145 arguments = new EObjectResolvingEList<Variable>(Variable.class, this, ProblemPackage.ATOM__ARGUMENTS); 146 arguments = new EObjectContainmentEList<Argument>(Argument.class, this, ProblemPackage.ATOM__ARGUMENTS);
146 } 147 }
147 return arguments; 148 return arguments;
148 } 149 }
@@ -175,16 +176,30 @@ public class AtomImpl extends LiteralImpl implements Atom {
175 * @generated 176 * @generated
176 */ 177 */
177 @Override 178 @Override
179 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
180 switch (featureID) {
181 case ProblemPackage.ATOM__ARGUMENTS:
182 return ((InternalEList<?>) getArguments()).basicRemove(otherEnd, msgs);
183 }
184 return super.eInverseRemove(otherEnd, featureID, msgs);
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
178 public Object eGet(int featureID, boolean resolve, boolean coreType) { 193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
179 switch (featureID) { 194 switch (featureID) {
180 case ProblemPackage.ATOM__RELATION: 195 case ProblemPackage.ATOM__RELATION:
181 if (resolve) 196 if (resolve)
182 return getRelation(); 197 return getRelation();
183 return basicGetRelation(); 198 return basicGetRelation();
184 case ProblemPackage.ATOM__ARGUMENTS:
185 return getArguments();
186 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 199 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
187 return isTransitiveClosure(); 200 return isTransitiveClosure();
201 case ProblemPackage.ATOM__ARGUMENTS:
202 return getArguments();
188 } 203 }
189 return super.eGet(featureID, resolve, coreType); 204 return super.eGet(featureID, resolve, coreType);
190 } 205 }
@@ -201,13 +216,13 @@ public class AtomImpl extends LiteralImpl implements Atom {
201 case ProblemPackage.ATOM__RELATION: 216 case ProblemPackage.ATOM__RELATION:
202 setRelation((Relation) newValue); 217 setRelation((Relation) newValue);
203 return; 218 return;
204 case ProblemPackage.ATOM__ARGUMENTS:
205 getArguments().clear();
206 getArguments().addAll((Collection<? extends Variable>) newValue);
207 return;
208 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 219 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
209 setTransitiveClosure((Boolean) newValue); 220 setTransitiveClosure((Boolean) newValue);
210 return; 221 return;
222 case ProblemPackage.ATOM__ARGUMENTS:
223 getArguments().clear();
224 getArguments().addAll((Collection<? extends Argument>) newValue);
225 return;
211 } 226 }
212 super.eSet(featureID, newValue); 227 super.eSet(featureID, newValue);
213 } 228 }
@@ -223,12 +238,12 @@ public class AtomImpl extends LiteralImpl implements Atom {
223 case ProblemPackage.ATOM__RELATION: 238 case ProblemPackage.ATOM__RELATION:
224 setRelation((Relation) null); 239 setRelation((Relation) null);
225 return; 240 return;
226 case ProblemPackage.ATOM__ARGUMENTS:
227 getArguments().clear();
228 return;
229 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 241 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
230 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT); 242 setTransitiveClosure(TRANSITIVE_CLOSURE_EDEFAULT);
231 return; 243 return;
244 case ProblemPackage.ATOM__ARGUMENTS:
245 getArguments().clear();
246 return;
232 } 247 }
233 super.eUnset(featureID); 248 super.eUnset(featureID);
234 } 249 }
@@ -243,10 +258,10 @@ public class AtomImpl extends LiteralImpl implements Atom {
243 switch (featureID) { 258 switch (featureID) {
244 case ProblemPackage.ATOM__RELATION: 259 case ProblemPackage.ATOM__RELATION:
245 return relation != null; 260 return relation != null;
246 case ProblemPackage.ATOM__ARGUMENTS:
247 return arguments != null && !arguments.isEmpty();
248 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE: 261 case ProblemPackage.ATOM__TRANSITIVE_CLOSURE:
249 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT; 262 return transitiveClosure != TRANSITIVE_CLOSURE_EDEFAULT;
263 case ProblemPackage.ATOM__ARGUMENTS:
264 return arguments != null && !arguments.isEmpty();
250 } 265 }
251 return super.eIsSet(featureID); 266 return super.eIsSet(featureID);
252 } 267 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
index e1d07071..89de4d01 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ClassDeclarationImpl.java
@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList;
19import org.eclipse.emf.ecore.util.InternalEList; 19import org.eclipse.emf.ecore.util.InternalEList;
20 20
21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 21import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
22import org.eclipse.viatra.solver.language.model.problem.Node;
22import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 23import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
23import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 24import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
24 25
@@ -33,6 +34,7 @@ import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li> 34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#isAbstract <em>Abstract</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li> 35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getSuperTypes <em>Super Types</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li> 36 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getReferenceDeclarations <em>Reference Declarations</em>}</li>
37 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ClassDeclarationImpl#getNewNode <em>New Node</em>}</li>
36 * </ul> 38 * </ul>
37 * 39 *
38 * @generated 40 * @generated
@@ -79,6 +81,16 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
79 protected EList<ReferenceDeclaration> referenceDeclarations; 81 protected EList<ReferenceDeclaration> referenceDeclarations;
80 82
81 /** 83 /**
84 * The cached value of the '{@link #getNewNode() <em>New Node</em>}' containment reference.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @see #getNewNode()
88 * @generated
89 * @ordered
90 */
91 protected Node newNode;
92
93 /**
82 * <!-- begin-user-doc --> 94 * <!-- begin-user-doc -->
83 * <!-- end-user-doc --> 95 * <!-- end-user-doc -->
84 * @generated 96 * @generated
@@ -150,11 +162,63 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
150 * <!-- end-user-doc --> 162 * <!-- end-user-doc -->
151 * @generated 163 * @generated
152 */ 164 */
165 public Node getNewNode() {
166 return newNode;
167 }
168
169 /**
170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc -->
172 * @generated
173 */
174 public NotificationChain basicSetNewNode(Node newNewNode, NotificationChain msgs) {
175 Node oldNewNode = newNode;
176 newNode = newNewNode;
177 if (eNotificationRequired()) {
178 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
179 ProblemPackage.CLASS_DECLARATION__NEW_NODE, oldNewNode, newNewNode);
180 if (msgs == null)
181 msgs = notification;
182 else
183 msgs.add(notification);
184 }
185 return msgs;
186 }
187
188 /**
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @generated
192 */
193 public void setNewNode(Node newNewNode) {
194 if (newNewNode != newNode) {
195 NotificationChain msgs = null;
196 if (newNode != null)
197 msgs = ((InternalEObject) newNode).eInverseRemove(this,
198 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
199 if (newNewNode != null)
200 msgs = ((InternalEObject) newNewNode).eInverseAdd(this,
201 EOPPOSITE_FEATURE_BASE - ProblemPackage.CLASS_DECLARATION__NEW_NODE, null, msgs);
202 msgs = basicSetNewNode(newNewNode, msgs);
203 if (msgs != null)
204 msgs.dispatch();
205 } else if (eNotificationRequired())
206 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CLASS_DECLARATION__NEW_NODE,
207 newNewNode, newNewNode));
208 }
209
210 /**
211 * <!-- begin-user-doc -->
212 * <!-- end-user-doc -->
213 * @generated
214 */
153 @Override 215 @Override
154 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { 216 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
155 switch (featureID) { 217 switch (featureID) {
156 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 218 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
157 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs); 219 return ((InternalEList<?>) getReferenceDeclarations()).basicRemove(otherEnd, msgs);
220 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
221 return basicSetNewNode(null, msgs);
158 } 222 }
159 return super.eInverseRemove(otherEnd, featureID, msgs); 223 return super.eInverseRemove(otherEnd, featureID, msgs);
160 } 224 }
@@ -173,6 +237,8 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
173 return getSuperTypes(); 237 return getSuperTypes();
174 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 238 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
175 return getReferenceDeclarations(); 239 return getReferenceDeclarations();
240 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
241 return getNewNode();
176 } 242 }
177 return super.eGet(featureID, resolve, coreType); 243 return super.eGet(featureID, resolve, coreType);
178 } 244 }
@@ -197,6 +263,9 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
197 getReferenceDeclarations().clear(); 263 getReferenceDeclarations().clear();
198 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue); 264 getReferenceDeclarations().addAll((Collection<? extends ReferenceDeclaration>) newValue);
199 return; 265 return;
266 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
267 setNewNode((Node) newValue);
268 return;
200 } 269 }
201 super.eSet(featureID, newValue); 270 super.eSet(featureID, newValue);
202 } 271 }
@@ -218,6 +287,9 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
218 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 287 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
219 getReferenceDeclarations().clear(); 288 getReferenceDeclarations().clear();
220 return; 289 return;
290 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
291 setNewNode((Node) null);
292 return;
221 } 293 }
222 super.eUnset(featureID); 294 super.eUnset(featureID);
223 } 295 }
@@ -236,6 +308,8 @@ public class ClassDeclarationImpl extends RelationImpl implements ClassDeclarati
236 return superTypes != null && !superTypes.isEmpty(); 308 return superTypes != null && !superTypes.isEmpty();
237 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS: 309 case ProblemPackage.CLASS_DECLARATION__REFERENCE_DECLARATIONS:
238 return referenceDeclarations != null && !referenceDeclarations.isEmpty(); 310 return referenceDeclarations != null && !referenceDeclarations.isEmpty();
311 case ProblemPackage.CLASS_DECLARATION__NEW_NODE:
312 return newNode != null;
239 } 313 }
240 return super.eIsSet(featureID); 314 return super.eIsSet(featureID);
241 } 315 }
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
index 3bdf887f..72258cc1 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConjunctionImpl.java
@@ -45,6 +45,7 @@ public class ConjunctionImpl extends MinimalEObjectImpl.Container implements Con
45 * @ordered 45 * @ordered
46 */ 46 */
47 protected EList<ImplicitVariable> implicitVariables; 47 protected EList<ImplicitVariable> implicitVariables;
48
48 /** 49 /**
49 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list. 50 * The cached value of the '{@link #getLiterals() <em>Literals</em>}' containment reference list.
50 * <!-- begin-user-doc --> 51 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
index 5295406b..857a779d 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NegativeLiteralImpl.java
@@ -47,6 +47,7 @@ public class NegativeLiteralImpl extends MinimalEObjectImpl.Container implements
47 * @ordered 47 * @ordered
48 */ 48 */
49 protected EList<ImplicitVariable> implicitVariables; 49 protected EList<ImplicitVariable> implicitVariables;
50
50 /** 51 /**
51 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference. 52 * The cached value of the '{@link #getAtom() <em>Atom</em>}' containment reference.
52 * <!-- begin-user-doc --> 53 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
index 563f8b05..3bb50cfe 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
@@ -87,6 +87,10 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
87 return createRangeMultiplicity(); 87 return createRangeMultiplicity();
88 case ProblemPackage.EXACT_MULTIPLICITY: 88 case ProblemPackage.EXACT_MULTIPLICITY:
89 return createExactMultiplicity(); 89 return createExactMultiplicity();
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT:
93 return createArgument();
90 default: 94 default:
91 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 95 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
92 } 96 }
@@ -277,6 +281,26 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
277 * <!-- end-user-doc --> 281 * <!-- end-user-doc -->
278 * @generated 282 * @generated
279 */ 283 */
284 public UnboundedMultiplicity createUnboundedMultiplicity() {
285 UnboundedMultiplicityImpl unboundedMultiplicity = new UnboundedMultiplicityImpl();
286 return unboundedMultiplicity;
287 }
288
289 /**
290 * <!-- begin-user-doc -->
291 * <!-- end-user-doc -->
292 * @generated
293 */
294 public Argument createArgument() {
295 ArgumentImpl argument = new ArgumentImpl();
296 return argument;
297 }
298
299 /**
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 */
280 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { 304 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
281 LogicValue result = LogicValue.get(initialValue); 305 LogicValue result = LogicValue.get(initialValue);
282 if (result == null) 306 if (result == null)
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
index 32bba265..191021c4 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemImpl.java
@@ -11,8 +11,6 @@ import org.eclipse.emf.common.util.EList;
11import org.eclipse.emf.ecore.EClass; 11import org.eclipse.emf.ecore.EClass;
12import org.eclipse.emf.ecore.InternalEObject; 12import org.eclipse.emf.ecore.InternalEObject;
13 13
14import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
15
16import org.eclipse.emf.ecore.util.EObjectContainmentEList; 14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
17import org.eclipse.emf.ecore.util.InternalEList; 15import org.eclipse.emf.ecore.util.InternalEList;
18 16
@@ -35,7 +33,7 @@ import org.eclipse.viatra.solver.language.model.problem.Statement;
35 * 33 *
36 * @generated 34 * @generated
37 */ 35 */
38public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem { 36public class ProblemImpl extends NamedElementImpl implements Problem {
39 /** 37 /**
40 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list. 38 * The cached value of the '{@link #getNodes() <em>Nodes</em>}' containment reference list.
41 * <!-- begin-user-doc --> 39 * <!-- begin-user-doc -->
@@ -45,6 +43,7 @@ public class ProblemImpl extends MinimalEObjectImpl.Container implements Problem
45 * @ordered 43 * @ordered
46 */ 44 */
47 protected EList<Node> nodes; 45 protected EList<Node> nodes;
46
48 /** 47 /**
49 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list. 48 * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list.
50 * <!-- begin-user-doc --> 49 * <!-- begin-user-doc -->
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
index de0aa595..f412addc 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -10,6 +10,7 @@ import org.eclipse.emf.ecore.EReference;
10 10
11import org.eclipse.emf.ecore.impl.EPackageImpl; 11import org.eclipse.emf.ecore.impl.EPackageImpl;
12 12
13import org.eclipse.viatra.solver.language.model.problem.Argument;
13import org.eclipse.viatra.solver.language.model.problem.Assertion; 14import org.eclipse.viatra.solver.language.model.problem.Assertion;
14import org.eclipse.viatra.solver.language.model.problem.Atom; 15import org.eclipse.viatra.solver.language.model.problem.Atom;
15import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
@@ -34,6 +35,7 @@ import org.eclipse.viatra.solver.language.model.problem.Relation;
34import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; 35import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Statement; 36import org.eclipse.viatra.solver.language.model.problem.Statement;
36import org.eclipse.viatra.solver.language.model.problem.TypeScope; 37import org.eclipse.viatra.solver.language.model.problem.TypeScope;
38import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
37import org.eclipse.viatra.solver.language.model.problem.Variable; 39import org.eclipse.viatra.solver.language.model.problem.Variable;
38 40
39/** 41/**
@@ -202,6 +204,20 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
202 * <!-- end-user-doc --> 204 * <!-- end-user-doc -->
203 * @generated 205 * @generated
204 */ 206 */
207 private EClass unboundedMultiplicityEClass = null;
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 private EClass argumentEClass = null;
215
216 /**
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 */
205 private EEnum logicValueEEnum = null; 221 private EEnum logicValueEEnum = null;
206 222
207 /** 223 /**
@@ -345,6 +361,15 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
345 * <!-- end-user-doc --> 361 * <!-- end-user-doc -->
346 * @generated 362 * @generated
347 */ 363 */
364 public EReference getClassDeclaration_NewNode() {
365 return (EReference) classDeclarationEClass.getEStructuralFeatures().get(3);
366 }
367
368 /**
369 * <!-- begin-user-doc -->
370 * <!-- end-user-doc -->
371 * @generated
372 */
348 public EClass getReferenceDeclaration() { 373 public EClass getReferenceDeclaration() {
349 return referenceDeclarationEClass; 374 return referenceDeclarationEClass;
350 } 375 }
@@ -517,7 +542,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
517 * @generated 542 * @generated
518 */ 543 */
519 public EReference getAtom_Arguments() { 544 public EReference getAtom_Arguments() {
520 return (EReference) atomEClass.getEStructuralFeatures().get(1); 545 return (EReference) atomEClass.getEStructuralFeatures().get(2);
521 } 546 }
522 547
523 /** 548 /**
@@ -526,7 +551,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
526 * @generated 551 * @generated
527 */ 552 */
528 public EAttribute getAtom_TransitiveClosure() { 553 public EAttribute getAtom_TransitiveClosure() {
529 return (EAttribute) atomEClass.getEStructuralFeatures().get(2); 554 return (EAttribute) atomEClass.getEStructuralFeatures().get(1);
530 } 555 }
531 556
532 /** 557 /**
@@ -741,6 +766,42 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
741 * <!-- end-user-doc --> 766 * <!-- end-user-doc -->
742 * @generated 767 * @generated
743 */ 768 */
769 public EClass getUnboundedMultiplicity() {
770 return unboundedMultiplicityEClass;
771 }
772
773 /**
774 * <!-- begin-user-doc -->
775 * <!-- end-user-doc -->
776 * @generated
777 */
778 public EClass getArgument() {
779 return argumentEClass;
780 }
781
782 /**
783 * <!-- begin-user-doc -->
784 * <!-- end-user-doc -->
785 * @generated
786 */
787 public EReference getArgument_Variable() {
788 return (EReference) argumentEClass.getEStructuralFeatures().get(0);
789 }
790
791 /**
792 * <!-- begin-user-doc -->
793 * <!-- end-user-doc -->
794 * @generated
795 */
796 public EReference getArgument_SingletonVariable() {
797 return (EReference) argumentEClass.getEStructuralFeatures().get(1);
798 }
799
800 /**
801 * <!-- begin-user-doc -->
802 * <!-- end-user-doc -->
803 * @generated
804 */
744 public EEnum getLogicValue() { 805 public EEnum getLogicValue() {
745 return logicValueEEnum; 806 return logicValueEEnum;
746 } 807 }
@@ -784,6 +845,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
784 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT); 845 createEAttribute(classDeclarationEClass, CLASS_DECLARATION__ABSTRACT);
785 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES); 846 createEReference(classDeclarationEClass, CLASS_DECLARATION__SUPER_TYPES);
786 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS); 847 createEReference(classDeclarationEClass, CLASS_DECLARATION__REFERENCE_DECLARATIONS);
848 createEReference(classDeclarationEClass, CLASS_DECLARATION__NEW_NODE);
787 849
788 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION); 850 referenceDeclarationEClass = createEClass(REFERENCE_DECLARATION);
789 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE); 851 createEReference(referenceDeclarationEClass, REFERENCE_DECLARATION__REFERENCE_TYPE);
@@ -811,8 +873,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
811 873
812 atomEClass = createEClass(ATOM); 874 atomEClass = createEClass(ATOM);
813 createEReference(atomEClass, ATOM__RELATION); 875 createEReference(atomEClass, ATOM__RELATION);
814 createEReference(atomEClass, ATOM__ARGUMENTS);
815 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE); 876 createEAttribute(atomEClass, ATOM__TRANSITIVE_CLOSURE);
877 createEReference(atomEClass, ATOM__ARGUMENTS);
816 878
817 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE); 879 implicitVariableEClass = createEClass(IMPLICIT_VARIABLE);
818 880
@@ -848,6 +910,12 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
848 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY); 910 exactMultiplicityEClass = createEClass(EXACT_MULTIPLICITY);
849 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE); 911 createEAttribute(exactMultiplicityEClass, EXACT_MULTIPLICITY__EXACT_VALUE);
850 912
913 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
914
915 argumentEClass = createEClass(ARGUMENT);
916 createEReference(argumentEClass, ARGUMENT__VARIABLE);
917 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE);
918
851 // Create enums 919 // Create enums
852 logicValueEEnum = createEEnum(LOGIC_VALUE); 920 logicValueEEnum = createEEnum(LOGIC_VALUE);
853 } 921 }
@@ -881,6 +949,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
881 // Set bounds for type parameters 949 // Set bounds for type parameters
882 950
883 // Add supertypes to classes 951 // Add supertypes to classes
952 problemEClass.getESuperTypes().add(this.getNamedElement());
884 relationEClass.getESuperTypes().add(this.getNamedElement()); 953 relationEClass.getESuperTypes().add(this.getNamedElement());
885 classDeclarationEClass.getESuperTypes().add(this.getRelation()); 954 classDeclarationEClass.getESuperTypes().add(this.getRelation());
886 classDeclarationEClass.getESuperTypes().add(this.getStatement()); 955 classDeclarationEClass.getESuperTypes().add(this.getStatement());
@@ -899,6 +968,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
899 scopeDeclarationEClass.getESuperTypes().add(this.getStatement()); 968 scopeDeclarationEClass.getESuperTypes().add(this.getStatement());
900 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 969 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
901 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 970 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
971 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
902 972
903 // Initialize classes, features, and operations; add parameters 973 // Initialize classes, features, and operations; add parameters
904 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 974 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -922,6 +992,9 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
922 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null, 992 initEReference(getClassDeclaration_ReferenceDeclarations(), this.getReferenceDeclaration(), null,
923 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, 993 "referenceDeclarations", null, 0, -1, ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE,
924 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 994 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
995 initEReference(getClassDeclaration_NewNode(), this.getNode(), null, "newNode", null, 0, 1,
996 ClassDeclaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
997 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
925 998
926 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT, 999 initEClass(referenceDeclarationEClass, ReferenceDeclaration.class, "ReferenceDeclaration", !IS_ABSTRACT,
927 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1000 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -975,12 +1048,12 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
975 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT, 1048 initEReference(getAtom_Relation(), this.getRelation(), null, "relation", null, 0, 1, Atom.class, !IS_TRANSIENT,
976 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, 1049 !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
977 IS_ORDERED); 1050 IS_ORDERED);
978 initEReference(getAtom_Arguments(), this.getVariable(), null, "arguments", null, 0, -1, Atom.class,
979 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
980 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
981 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1, 1051 initEAttribute(getAtom_TransitiveClosure(), ecorePackage.getEBoolean(), "transitiveClosure", null, 0, 1,
982 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, 1052 Atom.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED,
983 IS_ORDERED); 1053 IS_ORDERED);
1054 initEReference(getAtom_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, Atom.class,
1055 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1056 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
984 1057
985 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE, 1058 initEClass(implicitVariableEClass, ImplicitVariable.class, "ImplicitVariable", !IS_ABSTRACT, !IS_INTERFACE,
986 IS_GENERATED_INSTANCE_CLASS); 1059 IS_GENERATED_INSTANCE_CLASS);
@@ -1048,6 +1121,18 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1048 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, 1121 ExactMultiplicity.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1049 !IS_DERIVED, IS_ORDERED); 1122 !IS_DERIVED, IS_ORDERED);
1050 1123
1124 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
1125 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1126
1127 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE,
1128 IS_GENERATED_INSTANCE_CLASS);
1129 initEReference(getArgument_Variable(), this.getVariable(), null, "variable", null, 0, 1, Argument.class,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0,
1133 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1134 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1135
1051 // Initialize enums and add enum literals 1136 // Initialize enums and add enum literals
1052 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); 1137 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1053 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); 1138 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
new file mode 100644
index 00000000..34283189
--- /dev/null
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/UnboundedMultiplicityImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
8import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Unbounded Multiplicity</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UnboundedMultiplicityImpl extends MultiplicityImpl implements UnboundedMultiplicity {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UnboundedMultiplicityImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return ProblemPackage.Literals.UNBOUNDED_MULTIPLICITY;
35 }
36
37} //UnboundedMultiplicityImpl
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
index f228f54a..c41a4034 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
@@ -177,6 +177,16 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
177 } 177 }
178 178
179 @Override 179 @Override
180 public Adapter caseUnboundedMultiplicity(UnboundedMultiplicity object) {
181 return createUnboundedMultiplicityAdapter();
182 }
183
184 @Override
185 public Adapter caseArgument(Argument object) {
186 return createArgumentAdapter();
187 }
188
189 @Override
180 public Adapter defaultCase(EObject object) { 190 public Adapter defaultCase(EObject object) {
181 return createEObjectAdapter(); 191 return createEObjectAdapter();
182 } 192 }
@@ -504,6 +514,34 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
504 } 514 }
505 515
506 /** 516 /**
517 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity <em>Unbounded Multiplicity</em>}'.
518 * <!-- begin-user-doc -->
519 * This default implementation returns null so that we can easily ignore cases;
520 * it's useful to ignore a case when inheritance will catch all the cases anyway.
521 * <!-- end-user-doc -->
522 * @return the new adapter.
523 * @see org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity
524 * @generated
525 */
526 public Adapter createUnboundedMultiplicityAdapter() {
527 return null;
528 }
529
530 /**
531 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
532 * <!-- begin-user-doc -->
533 * This default implementation returns null so that we can easily ignore cases;
534 * it's useful to ignore a case when inheritance will catch all the cases anyway.
535 * <!-- end-user-doc -->
536 * @return the new adapter.
537 * @see org.eclipse.viatra.solver.language.model.problem.Argument
538 * @generated
539 */
540 public Adapter createArgumentAdapter() {
541 return null;
542 }
543
544 /**
507 * Creates a new adapter for the default case. 545 * Creates a new adapter for the default case.
508 * <!-- begin-user-doc --> 546 * <!-- begin-user-doc -->
509 * This default implementation returns null. 547 * This default implementation returns null.
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
index a9e1455b..361b663c 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
@@ -70,6 +70,8 @@ public class ProblemSwitch<T> extends Switch<T> {
70 Problem problem = (Problem) theEObject; 70 Problem problem = (Problem) theEObject;
71 T result = caseProblem(problem); 71 T result = caseProblem(problem);
72 if (result == null) 72 if (result == null)
73 result = caseNamedElement(problem);
74 if (result == null)
73 result = defaultCase(theEObject); 75 result = defaultCase(theEObject);
74 return result; 76 return result;
75 } 77 }
@@ -266,6 +268,22 @@ public class ProblemSwitch<T> extends Switch<T> {
266 result = defaultCase(theEObject); 268 result = defaultCase(theEObject);
267 return result; 269 return result;
268 } 270 }
271 case ProblemPackage.UNBOUNDED_MULTIPLICITY: {
272 UnboundedMultiplicity unboundedMultiplicity = (UnboundedMultiplicity) theEObject;
273 T result = caseUnboundedMultiplicity(unboundedMultiplicity);
274 if (result == null)
275 result = caseMultiplicity(unboundedMultiplicity);
276 if (result == null)
277 result = defaultCase(theEObject);
278 return result;
279 }
280 case ProblemPackage.ARGUMENT: {
281 Argument argument = (Argument) theEObject;
282 T result = caseArgument(argument);
283 if (result == null)
284 result = defaultCase(theEObject);
285 return result;
286 }
269 default: 287 default:
270 return defaultCase(theEObject); 288 return defaultCase(theEObject);
271 } 289 }
@@ -602,6 +620,36 @@ public class ProblemSwitch<T> extends Switch<T> {
602 } 620 }
603 621
604 /** 622 /**
623 * Returns the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
624 * <!-- begin-user-doc -->
625 * This implementation returns null;
626 * returning a non-null result will terminate the switch.
627 * <!-- end-user-doc -->
628 * @param object the target of the switch.
629 * @return the result of interpreting the object as an instance of '<em>Unbounded Multiplicity</em>'.
630 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
631 * @generated
632 */
633 public T caseUnboundedMultiplicity(UnboundedMultiplicity object) {
634 return null;
635 }
636
637 /**
638 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
639 * <!-- begin-user-doc -->
640 * This implementation returns null;
641 * returning a non-null result will terminate the switch.
642 * <!-- end-user-doc -->
643 * @param object the target of the switch.
644 * @return the result of interpreting the object as an instance of '<em>Argument</em>'.
645 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
646 * @generated
647 */
648 public T caseArgument(Argument object) {
649 return null;
650 }
651
652 /**
605 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 653 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
606 * <!-- begin-user-doc --> 654 * <!-- begin-user-doc -->
607 * This implementation returns null; 655 * This implementation returns null;
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
index 9b87280d..dd52134b 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
@@ -2,7 +2,7 @@
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem" 3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem"
4 nsPrefix="problem"> 4 nsPrefix="problem">
5 <eClassifiers xsi:type="ecore:EClass" name="Problem"> 5 <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" 6 <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1"
7 eType="#//Node" containment="true"/> 7 eType="#//Node" containment="true"/>
8 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" 8 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
@@ -15,6 +15,8 @@
15 eType="#//ClassDeclaration"/> 15 eType="#//ClassDeclaration"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" 16 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations"
17 upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> 17 upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node"
19 containment="true"/>
18 </eClassifiers> 20 </eClassifiers>
19 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> 21 <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation">
20 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/> 22 <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/>
@@ -44,9 +46,9 @@
44 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> 46 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/>
45 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal"> 47 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal">
46 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> 48 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
47 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
48 eType="#//Variable"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
51 eType="#//Argument" containment="true"/>
50 </eClassifiers> 52 </eClassifiers>
51 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/> 53 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/>
52 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal"> 54 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal">
@@ -91,4 +93,10 @@
91 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" 93 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
92 defaultValueLiteral="1"/> 94 defaultValueLiteral="1"/>
93 </eClassifiers> 95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/>
97 <eClassifiers xsi:type="ecore:EClass" name="Argument">
98 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable"
100 containment="true"/>
101 </eClassifiers>
94</ecore:EPackage> 102</ecore:EPackage>
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
index 2dfe62e6..379cb028 100644
--- a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
+++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel
@@ -25,6 +25,7 @@
25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> 25 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/>
26 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> 26 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/>
27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> 27 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/>
28 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/>
28 </genClasses> 29 </genClasses>
29 <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> 30 <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration">
30 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> 31 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/>
@@ -50,8 +51,8 @@
50 <genClasses ecoreClass="problem.ecore#//Literal"/> 51 <genClasses ecoreClass="problem.ecore#//Literal"/>
51 <genClasses ecoreClass="problem.ecore#//Atom"> 52 <genClasses ecoreClass="problem.ecore#//Atom">
52 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/> 53 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/>
53 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/>
54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/> 54 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/>
55 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/>
55 </genClasses> 56 </genClasses>
56 <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/> 57 <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/>
57 <genClasses ecoreClass="problem.ecore#//NegativeLiteral"> 58 <genClasses ecoreClass="problem.ecore#//NegativeLiteral">
@@ -83,5 +84,10 @@
83 <genClasses ecoreClass="problem.ecore#//ExactMultiplicity"> 84 <genClasses ecoreClass="problem.ecore#//ExactMultiplicity">
84 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> 85 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/>
85 </genClasses> 86 </genClasses>
87 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/>
88 <genClasses ecoreClass="problem.ecore#//Argument">
89 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variable"/>
90 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/>
91 </genClasses>
86 </genPackages> 92 </genPackages>
87</genmodel:GenModel> 93</genmodel:GenModel>