aboutsummaryrefslogtreecommitdiffstats
path: root/language-model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-27 23:21:42 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-06-27 23:30:25 +0200
commit7febe0b4781c5bb0fab34895ad642040ae143a8b (patch)
tree5bc49f9195b18a938382f2527ee4ab273527a07a /language-model
parentElectric semicolons (diff)
downloadrefinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.tar.gz
refinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.tar.zst
refinery-7febe0b4781c5bb0fab34895ad642040ae143a8b.zip
Add data constant support
Diffstat (limited to 'language-model')
-rw-r--r--language-model/problem.aird819
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java52
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java12
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java18
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java18
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java45
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java67
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java69
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java763
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java45
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java44
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java67
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java211
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java39
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java66
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java182
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java182
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java39
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java159
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java247
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java94
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java371
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java164
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java251
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java194
-rw-r--r--language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java242
-rw-r--r--language-model/src/main/resources/model/problem.ecore36
-rw-r--r--language-model/src/main/resources/model/problem.genmodel33
33 files changed, 4524 insertions, 465 deletions
diff --git a/language-model/problem.aird b/language-model/problem.aird
index 29e6d68c..1339af12 100644
--- a/language-model/problem.aird
+++ b/language-model/problem.aird
@@ -7,7 +7,7 @@
7 <semanticResources>build/resources/main/model/problem.genmodel</semanticResources> 7 <semanticResources>build/resources/main/model/problem.genmodel</semanticResources>
8 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg"> 8 <ownedViews xmi:type="viewpoint:DView" uid="_CsAAYKA4EeuqkpDnuik1sg">
9 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> 9 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="c29543bd-4d24-42d3-8f5b-82d41af742bd"> 10 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_CsYa4KA4EeuqkpDnuik1sg" name="problem" repPath="#_CsUwgKA4EeuqkpDnuik1sg" changeId="9e6149a4-5a12-44f9-8e40-b3da58c59eb4">
11 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 11 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
12 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/> 12 <target xmi:type="ecore:EPackage" href="src/main/resources/model/problem.ecore#/"/>
13 </ownedRepresentationDescriptors> 13 </ownedRepresentationDescriptors>
@@ -142,7 +142,7 @@
142 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/> 142 <styles xmi:type="notation:FilteringStyle" xmi:id="_-O-7I6A6EeuqkpDnuik1sg"/>
143 </children> 143 </children>
144 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 144 <styles xmi:type="notation:ShapeStyle" xmi:id="_-O-UEaA6EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1644" y="960" width="120" height="100"/> 145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-O-UEqA6EeuqkpDnuik1sg" x="1656" y="1752" width="120" height="100"/>
146 </children> 146 </children>
147 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg"> 147 <children xmi:type="notation:Node" xmi:id="_V6pfMKA7EeuqkpDnuik1sg" type="2003" element="_V6YZcKA7EeuqkpDnuik1sg">
148 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/> 148 <children xmi:type="notation:Node" xmi:id="_V6qGQKA7EeuqkpDnuik1sg" type="5007"/>
@@ -160,7 +160,7 @@
160 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/> 160 <styles xmi:type="notation:FilteringStyle" xmi:id="_rRh9M6A7EeuqkpDnuik1sg"/>
161 </children> 161 </children>
162 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 162 <styles xmi:type="notation:ShapeStyle" xmi:id="_rRhWIaA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
163 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1630" y="720" width="147" height="100"/> 163 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rRhWIqA7EeuqkpDnuik1sg" x="1593" y="720" width="147" height="100"/>
164 </children> 164 </children>
165 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg"> 165 <children xmi:type="notation:Node" xmi:id="_p9wywKA8EeuqkpDnuik1sg" type="2003" element="_p9d30KA8EeuqkpDnuik1sg">
166 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/> 166 <children xmi:type="notation:Node" xmi:id="_p9xZ0KA8EeuqkpDnuik1sg" type="5007"/>
@@ -173,7 +173,7 @@
173 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/> 173 <styles xmi:type="notation:FilteringStyle" xmi:id="_p9xZ06A8EeuqkpDnuik1sg"/>
174 </children> 174 </children>
175 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 175 <styles xmi:type="notation:ShapeStyle" xmi:id="_p9wywaA8EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
176 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1644" y="528" width="120" height="100"/> 176 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_p9wywqA8EeuqkpDnuik1sg" x="1872" y="528" width="120" height="100"/>
177 </children> 177 </children>
178 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg"> 178 <children xmi:type="notation:Node" xmi:id="_xsq_MKA8EeuqkpDnuik1sg" type="2003" element="_xsYrUKA8EeuqkpDnuik1sg">
179 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/> 179 <children xmi:type="notation:Node" xmi:id="_xsrmQKA8EeuqkpDnuik1sg" type="5007"/>
@@ -203,7 +203,7 @@
203 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/> 203 <styles xmi:type="notation:FilteringStyle" xmi:id="_BMfjNqA9EeuqkpDnuik1sg"/>
204 </children> 204 </children>
205 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 205 <styles xmi:type="notation:ShapeStyle" xmi:id="_BMfjMaA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1872" y="720" width="120" height="100"/> 206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_BMfjMqA9EeuqkpDnuik1sg" x="1872" y="180" width="120" height="100"/>
207 </children> 207 </children>
208 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg"> 208 <children xmi:type="notation:Node" xmi:id="_QUDYMKA9EeuqkpDnuik1sg" type="2003" element="_QTzgkKA9EeuqkpDnuik1sg">
209 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/> 209 <children xmi:type="notation:Node" xmi:id="_QUDYM6A9EeuqkpDnuik1sg" type="5007"/>
@@ -291,7 +291,7 @@
291 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/> 291 <styles xmi:type="notation:FilteringStyle" xmi:id="_IwtR09YPEeuF_d0WEhR3Xw"/>
292 </children> 292 </children>
293 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/> 293 <styles xmi:type="notation:ShapeStyle" xmi:id="_IwsqwdYPEeuF_d0WEhR3Xw" fontName="Noto Sans" fontHeight="8"/>
294 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="1353" y="1476" width="120" height="100"/> 294 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IwsqwtYPEeuF_d0WEhR3Xw" x="1188" y="1596" width="159" height="100"/>
295 </children> 295 </children>
296 <children xmi:type="notation:Node" xmi:id="_M6O-0NbGEeuymriYTNxK2g" type="2003" element="_M58q8NbGEeuymriYTNxK2g"> 296 <children xmi:type="notation:Node" xmi:id="_M6O-0NbGEeuymriYTNxK2g" type="2003" element="_M58q8NbGEeuymriYTNxK2g">
297 <children xmi:type="notation:Node" xmi:id="_M6Pl4NbGEeuymriYTNxK2g" type="5007"/> 297 <children xmi:type="notation:Node" xmi:id="_M6Pl4NbGEeuymriYTNxK2g" type="5007"/>
@@ -311,6 +311,108 @@
311 <styles xmi:type="notation:ShapeStyle" xmi:id="_Kw-vIdbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/> 311 <styles xmi:type="notation:ShapeStyle" xmi:id="_Kw-vIdbNEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
312 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kw-vItbNEeuymriYTNxK2g" x="1137" y="180" width="120" height="100"/> 312 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kw-vItbNEeuymriYTNxK2g" x="1137" y="180" width="120" height="100"/>
313 </children> 313 </children>
314 <children xmi:type="notation:Node" xmi:id="_IsM5ENd_EeufiOvRR5sVhg" type="2003" element="_IrcrINd_EeufiOvRR5sVhg">
315 <children xmi:type="notation:Node" xmi:id="_IsRxkNd_EeufiOvRR5sVhg" type="5007"/>
316 <children xmi:type="notation:Node" xmi:id="_IsRxkdd_EeufiOvRR5sVhg" type="7004">
317 <styles xmi:type="notation:SortingStyle" xmi:id="_IsRxktd_EeufiOvRR5sVhg"/>
318 <styles xmi:type="notation:FilteringStyle" xmi:id="_IsRxk9d_EeufiOvRR5sVhg"/>
319 </children>
320 <styles xmi:type="notation:ShapeStyle" xmi:id="_IsM5Edd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IsM5Etd_EeufiOvRR5sVhg" x="2016" y="1608" width="120" height="100"/>
322 </children>
323 <children xmi:type="notation:Node" xmi:id="_KdsE0Nd_EeufiOvRR5sVhg" type="2003" element="_KdTqUNd_EeufiOvRR5sVhg">
324 <children xmi:type="notation:Node" xmi:id="_Kdsr4Nd_EeufiOvRR5sVhg" type="5007"/>
325 <children xmi:type="notation:Node" xmi:id="_Kdsr4dd_EeufiOvRR5sVhg" type="7004">
326 <children xmi:type="notation:Node" xmi:id="_bremgNd_EeufiOvRR5sVhg" type="3010" element="_brB6kNd_EeufiOvRR5sVhg">
327 <styles xmi:type="notation:FontStyle" xmi:id="_bremgdd_EeufiOvRR5sVhg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
328 <layoutConstraint xmi:type="notation:Location" xmi:id="_bremgtd_EeufiOvRR5sVhg"/>
329 </children>
330 <styles xmi:type="notation:SortingStyle" xmi:id="_Kdsr4td_EeufiOvRR5sVhg"/>
331 <styles xmi:type="notation:FilteringStyle" xmi:id="_Kdsr49d_EeufiOvRR5sVhg"/>
332 </children>
333 <styles xmi:type="notation:ShapeStyle" xmi:id="_KdsE0dd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KdsE0td_EeufiOvRR5sVhg" x="1872" y="1752" width="120" height="100"/>
335 </children>
336 <children xmi:type="notation:Node" xmi:id="_MAkM0Nd_EeufiOvRR5sVhg" type="2003" element="_MARR4Nd_EeufiOvRR5sVhg">
337 <children xmi:type="notation:Node" xmi:id="_MAkM09d_EeufiOvRR5sVhg" type="5007"/>
338 <children xmi:type="notation:Node" xmi:id="_MAkM1Nd_EeufiOvRR5sVhg" type="7004">
339 <children xmi:type="notation:Node" xmi:id="_exbq0Nd_EeufiOvRR5sVhg" type="3010" element="_exQEoNd_EeufiOvRR5sVhg">
340 <styles xmi:type="notation:FontStyle" xmi:id="_exbq0dd_EeufiOvRR5sVhg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
341 <layoutConstraint xmi:type="notation:Location" xmi:id="_exbq0td_EeufiOvRR5sVhg"/>
342 </children>
343 <styles xmi:type="notation:SortingStyle" xmi:id="_MAkM1dd_EeufiOvRR5sVhg"/>
344 <styles xmi:type="notation:FilteringStyle" xmi:id="_MAkM1td_EeufiOvRR5sVhg"/>
345 </children>
346 <styles xmi:type="notation:ShapeStyle" xmi:id="_MAkM0dd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_MAkM0td_EeufiOvRR5sVhg" x="2016" y="1752" width="120" height="100"/>
348 </children>
349 <children xmi:type="notation:Node" xmi:id="_RwPFYNd_EeufiOvRR5sVhg" type="2003" element="_Rv9_oNd_EeufiOvRR5sVhg">
350 <children xmi:type="notation:Node" xmi:id="_RwPFY9d_EeufiOvRR5sVhg" type="5007"/>
351 <children xmi:type="notation:Node" xmi:id="_RwPFZNd_EeufiOvRR5sVhg" type="7004">
352 <children xmi:type="notation:Node" xmi:id="_g44fgNd_EeufiOvRR5sVhg" type="3010" element="_g4rrMNd_EeufiOvRR5sVhg">
353 <styles xmi:type="notation:FontStyle" xmi:id="_g44fgdd_EeufiOvRR5sVhg" fontColor="2697711" fontName="Noto Sans" fontHeight="8"/>
354 <layoutConstraint xmi:type="notation:Location" xmi:id="_g44fgtd_EeufiOvRR5sVhg"/>
355 </children>
356 <styles xmi:type="notation:SortingStyle" xmi:id="_RwPFZdd_EeufiOvRR5sVhg"/>
357 <styles xmi:type="notation:FilteringStyle" xmi:id="_RwPFZtd_EeufiOvRR5sVhg"/>
358 </children>
359 <styles xmi:type="notation:ShapeStyle" xmi:id="_RwPFYdd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
360 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RwPFYtd_EeufiOvRR5sVhg" x="2160" y="1752" width="120" height="100"/>
361 </children>
362 <children xmi:type="notation:Node" xmi:id="_mCh54Nd_EeufiOvRR5sVhg" type="2003" element="_mCSCQNd_EeufiOvRR5sVhg">
363 <children xmi:type="notation:Node" xmi:id="_mCh549d_EeufiOvRR5sVhg" type="5007"/>
364 <children xmi:type="notation:Node" xmi:id="_mCig8Nd_EeufiOvRR5sVhg" type="7004">
365 <styles xmi:type="notation:SortingStyle" xmi:id="_mCig8dd_EeufiOvRR5sVhg"/>
366 <styles xmi:type="notation:FilteringStyle" xmi:id="_mCig8td_EeufiOvRR5sVhg"/>
367 </children>
368 <styles xmi:type="notation:ShapeStyle" xmi:id="_mCh54dd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
369 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mCh54td_EeufiOvRR5sVhg" x="1461" y="1596" width="135" height="100"/>
370 </children>
371 <children xmi:type="notation:Node" xmi:id="_rwMAQNd_EeufiOvRR5sVhg" type="2003" element="_rwC2UNd_EeufiOvRR5sVhg">
372 <children xmi:type="notation:Node" xmi:id="_rwMAQ9d_EeufiOvRR5sVhg" type="5007"/>
373 <children xmi:type="notation:Node" xmi:id="_rwMARNd_EeufiOvRR5sVhg" type="7004">
374 <styles xmi:type="notation:SortingStyle" xmi:id="_rwMARdd_EeufiOvRR5sVhg"/>
375 <styles xmi:type="notation:FilteringStyle" xmi:id="_rwMARtd_EeufiOvRR5sVhg"/>
376 </children>
377 <styles xmi:type="notation:ShapeStyle" xmi:id="_rwMAQdd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
378 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rwMAQtd_EeufiOvRR5sVhg" x="1344" y="1452" width="120" height="100"/>
379 </children>
380 <children xmi:type="notation:Node" xmi:id="_OWhiINeAEeufiOvRR5sVhg" type="2003" element="_OWYYMNeAEeufiOvRR5sVhg">
381 <children xmi:type="notation:Node" xmi:id="_OWhiI9eAEeufiOvRR5sVhg" type="5007"/>
382 <children xmi:type="notation:Node" xmi:id="_OWhiJNeAEeufiOvRR5sVhg" type="7004">
383 <styles xmi:type="notation:SortingStyle" xmi:id="_OWhiJdeAEeufiOvRR5sVhg"/>
384 <styles xmi:type="notation:FilteringStyle" xmi:id="_OWhiJteAEeufiOvRR5sVhg"/>
385 </children>
386 <styles xmi:type="notation:ShapeStyle" xmi:id="_OWhiIdeAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
387 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OWhiIteAEeufiOvRR5sVhg" x="1980" y="960" width="156" height="100"/>
388 </children>
389 <children xmi:type="notation:Node" xmi:id="_VikSENeAEeufiOvRR5sVhg" type="2003" element="_ViJbUNeAEeufiOvRR5sVhg">
390 <children xmi:type="notation:Node" xmi:id="_Vik5INeAEeufiOvRR5sVhg" type="5007"/>
391 <children xmi:type="notation:Node" xmi:id="_Vik5IdeAEeufiOvRR5sVhg" type="7004">
392 <styles xmi:type="notation:SortingStyle" xmi:id="_Vik5IteAEeufiOvRR5sVhg"/>
393 <styles xmi:type="notation:FilteringStyle" xmi:id="_Vik5I9eAEeufiOvRR5sVhg"/>
394 </children>
395 <styles xmi:type="notation:ShapeStyle" xmi:id="_VikSEdeAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
396 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VikSEteAEeufiOvRR5sVhg" x="1864" y="708" width="135" height="100"/>
397 </children>
398 <children xmi:type="notation:Node" xmi:id="_dZlRoNeAEeufiOvRR5sVhg" type="2003" element="_dZVaANeAEeufiOvRR5sVhg">
399 <children xmi:type="notation:Node" xmi:id="_dZl4sNeAEeufiOvRR5sVhg" type="5007"/>
400 <children xmi:type="notation:Node" xmi:id="_dZl4sdeAEeufiOvRR5sVhg" type="7004">
401 <styles xmi:type="notation:SortingStyle" xmi:id="_dZl4steAEeufiOvRR5sVhg"/>
402 <styles xmi:type="notation:FilteringStyle" xmi:id="_dZl4s9eAEeufiOvRR5sVhg"/>
403 </children>
404 <styles xmi:type="notation:ShapeStyle" xmi:id="_dZlRodeAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
405 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dZlRoteAEeufiOvRR5sVhg" x="1747" y="960" width="188" height="100"/>
406 </children>
407 <children xmi:type="notation:Node" xmi:id="_9Tu6ENeAEeufiOvRR5sVhg" type="2003" element="_9TjT4NeAEeufiOvRR5sVhg">
408 <children xmi:type="notation:Node" xmi:id="_9Tu6E9eAEeufiOvRR5sVhg" type="5007"/>
409 <children xmi:type="notation:Node" xmi:id="_9Tu6FNeAEeufiOvRR5sVhg" type="7004">
410 <styles xmi:type="notation:SortingStyle" xmi:id="_9Tu6FdeAEeufiOvRR5sVhg"/>
411 <styles xmi:type="notation:FilteringStyle" xmi:id="_9Tu6FteAEeufiOvRR5sVhg"/>
412 </children>
413 <styles xmi:type="notation:ShapeStyle" xmi:id="_9Tu6EdeAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
414 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9Tu6EteAEeufiOvRR5sVhg" x="2136" y="528" width="144" height="100"/>
415 </children>
314 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/> 416 <styles xmi:type="notation:DiagramStyle" xmi:id="_CsZB8qA4EeuqkpDnuik1sg"/>
315 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 417 <edges xmi:type="notation:Edge" xmi:id="_ODhSQKA4EeuqkpDnuik1sg" type="4001" element="_ODPlcKA4EeuqkpDnuik1sg" source="_JT0o8KA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
316 <children xmi:type="notation:Node" xmi:id="_ODhSRKA4EeuqkpDnuik1sg" type="6001"> 418 <children xmi:type="notation:Node" xmi:id="_ODhSRKA4EeuqkpDnuik1sg" type="6001">
@@ -516,23 +618,23 @@
516 </children> 618 </children>
517 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yCqSwaA7EeuqkpDnuik1sg" routing="Tree"/> 619 <styles xmi:type="notation:ConnectorStyle" xmi:id="_yCqSwaA7EeuqkpDnuik1sg" routing="Tree"/>
518 <styles xmi:type="notation:FontStyle" xmi:id="_yCqSwqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 620 <styles xmi:type="notation:FontStyle" xmi:id="_yCqSwqA7EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
519 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yCqSw6A7EeuqkpDnuik1sg" points="[0, -3, -86, 515]$[0, -375, -86, 143]$[40, -375, -46, 143]$[40, -469, -46, 49]"/> 621 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yCqSw6A7EeuqkpDnuik1sg" points="[0, -3, -49, 515]$[0, -375, -49, 143]$[3, -375, -46, 143]$[3, -469, -46, 49]"/>
520 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSyqA7EeuqkpDnuik1sg" id="(0.576271186440678,0.030612244897959183)"/> 622 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSyqA7EeuqkpDnuik1sg" id="(0.8983050847457628,0.030612244897959183)"/>
521 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSy6A7EeuqkpDnuik1sg" id="(0.5,0.5)"/> 623 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yCqSy6A7EeuqkpDnuik1sg" id="(0.5,0.5)"/>
522 </edges> 624 </edges>
523 <edges xmi:type="notation:Edge" xmi:id="_0U2-4KA7EeuqkpDnuik1sg" type="4001" element="_0UtN5qA7EeuqkpDnuik1sg" source="_rRhWIKA7EeuqkpDnuik1sg" target="_-O-UEKA6EeuqkpDnuik1sg"> 625 <edges xmi:type="notation:Edge" xmi:id="_0U2-4KA7EeuqkpDnuik1sg" type="4001" element="_0UtN5qA7EeuqkpDnuik1sg" source="_rRhWIKA7EeuqkpDnuik1sg" target="_-O-UEKA6EeuqkpDnuik1sg">
524 <children xmi:type="notation:Node" xmi:id="_0U3l8KA7EeuqkpDnuik1sg" type="6001"> 626 <children xmi:type="notation:Node" xmi:id="_0U3l8KA7EeuqkpDnuik1sg" type="6001">
525 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l8aA7EeuqkpDnuik1sg" x="-18" y="-65"/> 627 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l8aA7EeuqkpDnuik1sg" x="-438" y="4"/>
526 </children> 628 </children>
527 <children xmi:type="notation:Node" xmi:id="_0U3l8qA7EeuqkpDnuik1sg" type="6002"> 629 <children xmi:type="notation:Node" xmi:id="_0U3l8qA7EeuqkpDnuik1sg" type="6002">
528 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l86A7EeuqkpDnuik1sg" y="10"/> 630 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l86A7EeuqkpDnuik1sg" x="-119" y="10"/>
529 </children> 631 </children>
530 <children xmi:type="notation:Node" xmi:id="_0U3l9KA7EeuqkpDnuik1sg" type="6003"> 632 <children xmi:type="notation:Node" xmi:id="_0U3l9KA7EeuqkpDnuik1sg" type="6003">
531 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l9aA7EeuqkpDnuik1sg" y="10"/> 633 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0U3l9aA7EeuqkpDnuik1sg" x="-673" y="10"/>
532 </children> 634 </children>
533 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0U2-4aA7EeuqkpDnuik1sg" routing="Rectilinear"/> 635 <styles xmi:type="notation:ConnectorStyle" xmi:id="_0U2-4aA7EeuqkpDnuik1sg" routing="Rectilinear"/>
534 <styles xmi:type="notation:FontStyle" xmi:id="_0U2-4qA7EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 636 <styles xmi:type="notation:FontStyle" xmi:id="_0U2-4qA7EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
535 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0U2-46A7EeuqkpDnuik1sg" points="[-15, 0, -15, -142]$[-15, 142, -15, 0]"/> 637 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0U2-46A7EeuqkpDnuik1sg" points="[20, 0, -29, -934]$[20, 934, -29, 0]"/>
536 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l9qA7EeuqkpDnuik1sg" id="(0.696551724137931,1.0)"/> 638 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l9qA7EeuqkpDnuik1sg" id="(0.696551724137931,1.0)"/>
537 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l96A7EeuqkpDnuik1sg" id="(0.7372881355932204,0.0)"/> 639 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0U3l96A7EeuqkpDnuik1sg" id="(0.7372881355932204,0.0)"/>
538 </edges> 640 </edges>
@@ -586,17 +688,17 @@
586 </edges> 688 </edges>
587 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 689 <edges xmi:type="notation:Edge" xmi:id="_w-zMkKA8EeuqkpDnuik1sg" type="4001" element="_w-iG36A8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
588 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001"> 690 <children xmi:type="notation:Node" xmi:id="_w-zMlKA8EeuqkpDnuik1sg" type="6001">
589 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="-221" y="18"/> 691 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zMlaA8EeuqkpDnuik1sg" x="-107" y="18"/>
590 </children> 692 </children>
591 <children xmi:type="notation:Node" xmi:id="_w-zzoKA8EeuqkpDnuik1sg" type="6002"> 693 <children xmi:type="notation:Node" xmi:id="_w-zzoKA8EeuqkpDnuik1sg" type="6002">
592 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzoaA8EeuqkpDnuik1sg" x="449" y="10"/> 694 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzoaA8EeuqkpDnuik1sg" x="643" y="10"/>
593 </children> 695 </children>
594 <children xmi:type="notation:Node" xmi:id="_w-zzoqA8EeuqkpDnuik1sg" type="6003"> 696 <children xmi:type="notation:Node" xmi:id="_w-zzoqA8EeuqkpDnuik1sg" type="6003">
595 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzo6A8EeuqkpDnuik1sg" x="79" y="10"/> 697 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w-zzo6A8EeuqkpDnuik1sg" x="113" y="10"/>
596 </children> 698 </children>
597 <styles xmi:type="notation:ConnectorStyle" xmi:id="_w-zMkaA8EeuqkpDnuik1sg" routing="Rectilinear"/> 699 <styles xmi:type="notation:ConnectorStyle" xmi:id="_w-zMkaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
598 <styles xmi:type="notation:FontStyle" xmi:id="_w-zMkqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 700 <styles xmi:type="notation:FontStyle" xmi:id="_w-zMkqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
599 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w-zMk6A8EeuqkpDnuik1sg" points="[0, -25, 902, -25]$[-902, -25, 0, -25]"/> 701 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w-zMk6A8EeuqkpDnuik1sg" points="[0, -13, 1130, -13]$[-1130, -13, 0, -13]"/>
600 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpKA8EeuqkpDnuik1sg" id="(0.0,0.5)"/> 702 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpKA8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
601 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpaA8EeuqkpDnuik1sg" id="(1.0,0.5)"/> 703 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w-zzpaA8EeuqkpDnuik1sg" id="(1.0,0.5)"/>
602 </edges> 704 </edges>
@@ -616,22 +718,6 @@
616 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2aA8EeuqkpDnuik1sg" id="(1.0,0.4897959183673469)"/> 718 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2aA8EeuqkpDnuik1sg" id="(1.0,0.4897959183673469)"/>
617 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2qA8EeuqkpDnuik1sg" id="(0.3389830508474576,0.0)"/> 719 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4ea_2qA8EeuqkpDnuik1sg" id="(0.3389830508474576,0.0)"/>
618 </edges> 720 </edges>
619 <edges xmi:type="notation:Edge" xmi:id="_79_eAKA8EeuqkpDnuik1sg" type="4001" element="_79nqlqA8EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
620 <children xmi:type="notation:Node" xmi:id="_79_eBKA8EeuqkpDnuik1sg" type="6001">
621 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eBaA8EeuqkpDnuik1sg" x="87" y="18"/>
622 </children>
623 <children xmi:type="notation:Node" xmi:id="_79_eBqA8EeuqkpDnuik1sg" type="6002">
624 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eB6A8EeuqkpDnuik1sg" x="-19" y="-10"/>
625 </children>
626 <children xmi:type="notation:Node" xmi:id="_79_eCKA8EeuqkpDnuik1sg" type="6003">
627 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_79_eCaA8EeuqkpDnuik1sg" x="-58" y="-10"/>
628 </children>
629 <styles xmi:type="notation:ConnectorStyle" xmi:id="_79_eAaA8EeuqkpDnuik1sg" routing="Rectilinear"/>
630 <styles xmi:type="notation:FontStyle" xmi:id="_79_eAqA8EeuqkpDnuik1sg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
631 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_79_eA6A8EeuqkpDnuik1sg" points="[41, -3, 708, 143]$[41, -146, 708, 0]$[-549, -146, 118, 0]"/>
632 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eCqA8EeuqkpDnuik1sg" id="(0.3644067796610169,0.030612244897959183)"/>
633 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_79_eC6A8EeuqkpDnuik1sg" id="(0.0,0.5)"/>
634 </edges>
635 <edges xmi:type="notation:Edge" xmi:id="_hU_wsKA9EeuqkpDnuik1sg" type="4001" element="_hU64ZqA9EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg"> 721 <edges xmi:type="notation:Edge" xmi:id="_hU_wsKA9EeuqkpDnuik1sg" type="4001" element="_hU64ZqA9EeuqkpDnuik1sg" source="_D1D6MKA4EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
636 <children xmi:type="notation:Node" xmi:id="_hU_wtKA9EeuqkpDnuik1sg" type="6001"> 722 <children xmi:type="notation:Node" xmi:id="_hU_wtKA9EeuqkpDnuik1sg" type="6001">
637 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hU_wtaA9EeuqkpDnuik1sg" x="-12" y="64"/> 723 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hU_wtaA9EeuqkpDnuik1sg" x="-12" y="64"/>
@@ -650,18 +736,18 @@
650 </edges> 736 </edges>
651 <edges xmi:type="notation:Edge" xmi:id="_mQXegKA9EeuqkpDnuik1sg" type="4001" element="_mQFKsqA9EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg"> 737 <edges xmi:type="notation:Edge" xmi:id="_mQXegKA9EeuqkpDnuik1sg" type="4001" element="_mQFKsqA9EeuqkpDnuik1sg" source="_p9wywKA8EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
652 <children xmi:type="notation:Node" xmi:id="_mQYFkKA9EeuqkpDnuik1sg" type="6001"> 738 <children xmi:type="notation:Node" xmi:id="_mQYFkKA9EeuqkpDnuik1sg" type="6001">
653 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFkaA9EeuqkpDnuik1sg" x="-32" y="-10"/> 739 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFkaA9EeuqkpDnuik1sg" x="-60" y="-10"/>
654 </children> 740 </children>
655 <children xmi:type="notation:Node" xmi:id="_mQYFkqA9EeuqkpDnuik1sg" type="6002"> 741 <children xmi:type="notation:Node" xmi:id="_mQYFkqA9EeuqkpDnuik1sg" type="6002">
656 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFk6A9EeuqkpDnuik1sg" x="-32" y="10"/> 742 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFk6A9EeuqkpDnuik1sg" x="-60" y="10"/>
657 </children> 743 </children>
658 <children xmi:type="notation:Node" xmi:id="_mQYFlKA9EeuqkpDnuik1sg" type="6003"> 744 <children xmi:type="notation:Node" xmi:id="_mQYFlKA9EeuqkpDnuik1sg" type="6003">
659 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFlaA9EeuqkpDnuik1sg" x="-32" y="10"/> 745 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mQYFlaA9EeuqkpDnuik1sg" x="-60" y="10"/>
660 </children> 746 </children>
661 <styles xmi:type="notation:ConnectorStyle" xmi:id="_mQXegaA9EeuqkpDnuik1sg" routing="Tree"/> 747 <styles xmi:type="notation:ConnectorStyle" xmi:id="_mQXegaA9EeuqkpDnuik1sg" routing="Tree"/>
662 <styles xmi:type="notation:FontStyle" xmi:id="_mQXegqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/> 748 <styles xmi:type="notation:FontStyle" xmi:id="_mQXegqA9EeuqkpDnuik1sg" fontName="Noto Sans" fontHeight="8"/>
663 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mQXeg6A9EeuqkpDnuik1sg" points="[0, 0, 673, 143]$[0, -48, 673, 95]$[-672, -48, 1, 95]$[-672, -94, 1, 49]"/> 749 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mQXeg6A9EeuqkpDnuik1sg" points="[0, -5, 1059, 143]$[0, -41, 1059, 107]$[-1058, -41, 1, 107]$[-1058, -99, 1, 49]"/>
664 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFlqA9EeuqkpDnuik1sg" id="(0.6101694915254238,0.0)"/> 750 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFlqA9EeuqkpDnuik1sg" id="(0.4745762711864407,0.04081632653061224)"/>
665 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFl6A9EeuqkpDnuik1sg" id="(0.5,0.5)"/> 751 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mQYFl6A9EeuqkpDnuik1sg" id="(0.5,0.5)"/>
666 </edges> 752 </edges>
667 <edges xmi:type="notation:Edge" xmi:id="_m0CMQKA9EeuqkpDnuik1sg" type="4001" element="_mzziwKA9EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg"> 753 <edges xmi:type="notation:Edge" xmi:id="_m0CMQKA9EeuqkpDnuik1sg" type="4001" element="_mzziwKA9EeuqkpDnuik1sg" source="_fit3kKA5EeuqkpDnuik1sg" target="_e73WIKA9EeuqkpDnuik1sg">
@@ -856,36 +942,20 @@
856 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwGtYBEeuF_d0WEhR3Xw" id="(0.41379310344827586,0.0)"/> 942 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwGtYBEeuF_d0WEhR3Xw" id="(0.41379310344827586,0.0)"/>
857 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwG9YBEeuF_d0WEhR3Xw" id="(0.5,0.5)"/> 943 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HUhwG9YBEeuF_d0WEhR3Xw" id="(0.5,0.5)"/>
858 </edges> 944 </edges>
859 <edges xmi:type="notation:Edge" xmi:id="_KnGywNYPEeuF_d0WEhR3Xw" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_IwsqwNYPEeuF_d0WEhR3Xw">
860 <children xmi:type="notation:Node" xmi:id="_KnHZ0NYPEeuF_d0WEhR3Xw" type="6001">
861 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ0dYPEeuF_d0WEhR3Xw" x="-10"/>
862 </children>
863 <children xmi:type="notation:Node" xmi:id="_KnHZ0tYPEeuF_d0WEhR3Xw" type="6002">
864 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ09YPEeuF_d0WEhR3Xw" x="10"/>
865 </children>
866 <children xmi:type="notation:Node" xmi:id="_KnHZ1NYPEeuF_d0WEhR3Xw" type="6003">
867 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_KnHZ1dYPEeuF_d0WEhR3Xw" x="-23" y="10"/>
868 </children>
869 <styles xmi:type="notation:ConnectorStyle" xmi:id="_KnGywdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
870 <styles xmi:type="notation:FontStyle" xmi:id="_KnGywtYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
871 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KnGyw9YPEeuF_d0WEhR3Xw" points="[67, 38, -21, -100]$[67, 132, -21, -6]"/>
872 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ1tYPEeuF_d0WEhR3Xw" id="(0.0,0.6122448979591837)"/>
873 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KnHZ19YPEeuF_d0WEhR3Xw" id="(0.6694915254237288,0.061224489795918366)"/>
874 </edges>
875 <edges xmi:type="notation:Edge" xmi:id="_byTTcNYPEeuF_d0WEhR3Xw" type="4001" element="_bx-jYtYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_-O-UEKA6EeuqkpDnuik1sg"> 945 <edges xmi:type="notation:Edge" xmi:id="_byTTcNYPEeuF_d0WEhR3Xw" type="4001" element="_bx-jYtYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_-O-UEKA6EeuqkpDnuik1sg">
876 <children xmi:type="notation:Node" xmi:id="_byTTdNYPEeuF_d0WEhR3Xw" type="6001"> 946 <children xmi:type="notation:Node" xmi:id="_byTTdNYPEeuF_d0WEhR3Xw" type="6001">
877 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-106" y="-140"/> 947 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTddYPEeuF_d0WEhR3Xw" x="-5" y="-10"/>
878 </children> 948 </children>
879 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002"> 949 <children xmi:type="notation:Node" xmi:id="_byTTdtYPEeuF_d0WEhR3Xw" type="6002">
880 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="-31" y="10"/> 950 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTd9YPEeuF_d0WEhR3Xw" x="32" y="-376"/>
881 </children> 951 </children>
882 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003"> 952 <children xmi:type="notation:Node" xmi:id="_byTTeNYPEeuF_d0WEhR3Xw" type="6003">
883 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-28" y="10"/> 953 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_byTTedYPEeuF_d0WEhR3Xw" x="-1" y="10"/>
884 </children> 954 </children>
885 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/> 955 <styles xmi:type="notation:ConnectorStyle" xmi:id="_byTTcdYPEeuF_d0WEhR3Xw" routing="Rectilinear"/>
886 <styles xmi:type="notation:FontStyle" xmi:id="_byTTctYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 956 <styles xmi:type="notation:FontStyle" xmi:id="_byTTctYPEeuF_d0WEhR3Xw" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
887 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[70, 48, -221, 466]$[303, 48, 12, 466]$[303, -418, 12, 0]"/> 957 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_byTTc9YPEeuF_d0WEhR3Xw" points="[19, 98, -437, -156]$[19, 192, -437, -62]$[408, 192, -48, -62]"/>
888 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,0.0)"/> 958 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gNYPEeuF_d0WEhR3Xw" id="(0.3821656050955414,0.0)"/>
889 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/> 959 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_byT6gdYPEeuF_d0WEhR3Xw" id="(0.4067796610169492,1.0)"/>
890 </edges> 960 </edges>
891 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg"> 961 <edges xmi:type="notation:Edge" xmi:id="_-X6xcNawEeuymriYTNxK2g" type="4001" element="_-XLKltawEeuymriYTNxK2g" source="_JT0o8KA4EeuqkpDnuik1sg" target="_xsq_MKA8EeuqkpDnuik1sg">
@@ -906,33 +976,33 @@
906 </edges> 976 </edges>
907 <edges xmi:type="notation:Edge" xmi:id="_W89dcNbFEeuymriYTNxK2g" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 977 <edges xmi:type="notation:Edge" xmi:id="_W89dcNbFEeuymriYTNxK2g" type="4001" element="_Z7FrQKA6EeuqkpDnuik1sg" source="_QKLK0KA6EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
908 <children xmi:type="notation:Node" xmi:id="_W89ddNbFEeuymriYTNxK2g" type="6001"> 978 <children xmi:type="notation:Node" xmi:id="_W89ddNbFEeuymriYTNxK2g" type="6001">
909 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W89dddbFEeuymriYTNxK2g" x="-349" y="-67"/> 979 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W89dddbFEeuymriYTNxK2g" x="-331" y="-67"/>
910 </children> 980 </children>
911 <children xmi:type="notation:Node" xmi:id="_W8-EgNbFEeuymriYTNxK2g" type="6002"> 981 <children xmi:type="notation:Node" xmi:id="_W8-EgNbFEeuymriYTNxK2g" type="6002">
912 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-EgdbFEeuymriYTNxK2g" x="-12" y="3"/> 982 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-EgdbFEeuymriYTNxK2g" x="-11" y="3"/>
913 </children> 983 </children>
914 <children xmi:type="notation:Node" xmi:id="_W8-EgtbFEeuymriYTNxK2g" type="6003"> 984 <children xmi:type="notation:Node" xmi:id="_W8-EgtbFEeuymriYTNxK2g" type="6003">
915 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-Eg9bFEeuymriYTNxK2g" x="32" y="10"/> 985 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W8-Eg9bFEeuymriYTNxK2g" x="30" y="10"/>
916 </children> 986 </children>
917 <styles xmi:type="notation:ConnectorStyle" xmi:id="_W89dcdbFEeuymriYTNxK2g" routing="Rectilinear"/> 987 <styles xmi:type="notation:ConnectorStyle" xmi:id="_W89dcdbFEeuymriYTNxK2g" routing="Rectilinear"/>
918 <styles xmi:type="notation:FontStyle" xmi:id="_W89dctbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 988 <styles xmi:type="notation:FontStyle" xmi:id="_W89dctbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
919 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W89dc9bFEeuymriYTNxK2g" points="[-75, 50, 517, 414]$[-195, 50, 397, 414]$[-195, -396, 397, -32]$[-581, -396, 11, -32]"/> 989 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W89dc9bFEeuymriYTNxK2g" points="[-75, 50, 517, 414]$[-195, 50, 397, 414]$[-195, -384, 397, -20]$[-581, -384, 11, -20]"/>
920 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SoNbFEeuymriYTNxK2g" id="(0.635593220338983,0.0)"/> 990 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SoNbFEeuymriYTNxK2g" id="(0.635593220338983,0.0)"/>
921 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SodbFEeuymriYTNxK2g" id="(0.9067796610169492,0.6938775510204082)"/> 991 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W8_SodbFEeuymriYTNxK2g" id="(0.9067796610169492,0.6938775510204082)"/>
922 </edges> 992 </edges>
923 <edges xmi:type="notation:Edge" xmi:id="_ev0VwNbFEeuymriYTNxK2g" type="4001" element="_ufJ3IKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg"> 993 <edges xmi:type="notation:Edge" xmi:id="_ev0VwNbFEeuymriYTNxK2g" type="4001" element="_ufJ3IKA4EeuqkpDnuik1sg" source="_c-HCQKA4EeuqkpDnuik1sg" target="_EfWNUKA4EeuqkpDnuik1sg">
924 <children xmi:type="notation:Node" xmi:id="_ev0VxNbFEeuymriYTNxK2g" type="6001"> 994 <children xmi:type="notation:Node" xmi:id="_ev0VxNbFEeuymriYTNxK2g" type="6001">
925 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VxdbFEeuymriYTNxK2g" x="-206" y="-22"/> 995 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VxdbFEeuymriYTNxK2g" x="-218" y="-22"/>
926 </children> 996 </children>
927 <children xmi:type="notation:Node" xmi:id="_ev0VxtbFEeuymriYTNxK2g" type="6002"> 997 <children xmi:type="notation:Node" xmi:id="_ev0VxtbFEeuymriYTNxK2g" type="6002">
928 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0Vx9bFEeuymriYTNxK2g" x="6" y="10"/> 998 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0Vx9bFEeuymriYTNxK2g" x="2" y="10"/>
929 </children> 999 </children>
930 <children xmi:type="notation:Node" xmi:id="_ev0VyNbFEeuymriYTNxK2g" type="6003"> 1000 <children xmi:type="notation:Node" xmi:id="_ev0VyNbFEeuymriYTNxK2g" type="6003">
931 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VydbFEeuymriYTNxK2g" x="-6" y="10"/> 1001 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ev0VydbFEeuymriYTNxK2g" x="-2" y="10"/>
932 </children> 1002 </children>
933 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ev0VwdbFEeuymriYTNxK2g" routing="Rectilinear"/> 1003 <styles xmi:type="notation:ConnectorStyle" xmi:id="_ev0VwdbFEeuymriYTNxK2g" routing="Rectilinear"/>
934 <styles xmi:type="notation:FontStyle" xmi:id="_ev0VwtbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1004 <styles xmi:type="notation:FontStyle" xmi:id="_ev0VwtbFEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
935 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ev0Vw9bFEeuymriYTNxK2g" points="[37, 36, -4, 419]$[156, 36, 115, 419]$[156, -348, 115, 35]$[46, -348, 5, 35]"/> 1005 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ev0Vw9bFEeuymriYTNxK2g" points="[37, 36, -4, 419]$[156, 36, 115, 419]$[156, -372, 115, 11]$[46, -372, 5, 11]"/>
936 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev0VytbFEeuymriYTNxK2g" id="(0.7448275862068966,0.0)"/> 1006 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev0VytbFEeuymriYTNxK2g" id="(0.7448275862068966,0.0)"/>
937 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev080NbFEeuymriYTNxK2g" id="(0.9576271186440678,0.5)"/> 1007 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ev080NbFEeuymriYTNxK2g" id="(0.9576271186440678,0.5)"/>
938 </edges> 1008 </edges>
@@ -981,7 +1051,7 @@
981 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WYV4AdbGEeuymriYTNxK2g" routing="Tree"/> 1051 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WYV4AdbGEeuymriYTNxK2g" routing="Tree"/>
982 <styles xmi:type="notation:FontStyle" xmi:id="_WYV4AtbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/> 1052 <styles xmi:type="notation:FontStyle" xmi:id="_WYV4AtbGEeuymriYTNxK2g" fontName="Noto Sans" fontHeight="8"/>
983 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WYV4A9bGEeuymriYTNxK2g" points="[0, 0, 99, 384]$[0, -240, 99, 144]$[-98, -240, 1, 144]$[-98, -286, 1, 98]"/> 1053 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WYV4A9bGEeuymriYTNxK2g" points="[0, 0, 99, 384]$[0, -240, 99, 144]$[-98, -240, 1, 144]$[-98, -286, 1, 98]"/>
984 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4CtbGEeuymriYTNxK2g" id="(0.3220338983050847,0.030612244897959183)"/> 1054 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4CtbGEeuymriYTNxK2g" id="(0.2627118644067797,0.01020408163265306)"/>
985 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4C9bGEeuymriYTNxK2g" id="(0.5,0.0)"/> 1055 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WYV4C9bGEeuymriYTNxK2g" id="(0.5,0.0)"/>
986 </edges> 1056 </edges>
987 <edges xmi:type="notation:Edge" xmi:id="_gRXLkNbGEeuymriYTNxK2g" type="4001" element="_gRDCgNbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_xsq_MKA8EeuqkpDnuik1sg"> 1057 <edges xmi:type="notation:Edge" xmi:id="_gRXLkNbGEeuymriYTNxK2g" type="4001" element="_gRDCgNbGEeuymriYTNxK2g" source="_M6O-0NbGEeuymriYTNxK2g" target="_xsq_MKA8EeuqkpDnuik1sg">
@@ -1050,20 +1120,260 @@
1050 </edges> 1120 </edges>
1051 <edges xmi:type="notation:Edge" xmi:id="_UosbINbNEeuymriYTNxK2g" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_Kw-vINbNEeuymriYTNxK2g"> 1121 <edges xmi:type="notation:Edge" xmi:id="_UosbINbNEeuymriYTNxK2g" type="4001" element="_T1fN5tYPEeuF_d0WEhR3Xw" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_Kw-vINbNEeuymriYTNxK2g">
1052 <children xmi:type="notation:Node" xmi:id="_UosbJNbNEeuymriYTNxK2g" type="6001"> 1122 <children xmi:type="notation:Node" xmi:id="_UosbJNbNEeuymriYTNxK2g" type="6001">
1053 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UosbJdbNEeuymriYTNxK2g" x="-516" y="82"/> 1123 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UosbJdbNEeuymriYTNxK2g" x="-606" y="6"/>
1054 </children> 1124 </children>
1055 <children xmi:type="notation:Node" xmi:id="_UotCMNbNEeuymriYTNxK2g" type="6002"> 1125 <children xmi:type="notation:Node" xmi:id="_UotCMNbNEeuymriYTNxK2g" type="6002">
1056 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCMdbNEeuymriYTNxK2g" x="21" y="10"/> 1126 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCMdbNEeuymriYTNxK2g" x="-59" y="10"/>
1057 </children> 1127 </children>
1058 <children xmi:type="notation:Node" xmi:id="_UotCMtbNEeuymriYTNxK2g" type="6003"> 1128 <children xmi:type="notation:Node" xmi:id="_UotCMtbNEeuymriYTNxK2g" type="6003">
1059 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCM9bNEeuymriYTNxK2g" x="3" y="10"/> 1129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UotCM9bNEeuymriYTNxK2g" x="-11" y="10"/>
1060 </children> 1130 </children>
1061 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UosbIdbNEeuymriYTNxK2g" routing="Rectilinear"/> 1131 <styles xmi:type="notation:ConnectorStyle" xmi:id="_UosbIdbNEeuymriYTNxK2g" routing="Rectilinear"/>
1062 <styles xmi:type="notation:FontStyle" xmi:id="_UosbItbNEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/> 1132 <styles xmi:type="notation:FontStyle" xmi:id="_UosbItbNEeuymriYTNxK2g" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1063 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UosbI9bNEeuymriYTNxK2g" points="[-36, 50, 197, 1259]$[-213, 50, 20, 1259]$[-213, -1198, 20, 11]"/> 1133 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UosbI9bNEeuymriYTNxK2g" points="[-13, -18, 56, 1329]$[-13, -1336, 56, 11]"/>
1064 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNNbNEeuymriYTNxK2g" id="(0.3050847457627119,0.0)"/> 1134 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNNbNEeuymriYTNxK2g" id="(0.2356687898089172,0.1836734693877551)"/>
1065 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNdbNEeuymriYTNxK2g" id="(0.16101694915254236,0.8877551020408163)"/> 1135 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UotCNdbNEeuymriYTNxK2g" id="(0.16101694915254236,0.8877551020408163)"/>
1066 </edges> 1136 </edges>
1137 <edges xmi:type="notation:Edge" xmi:id="_Vs_14Nd_EeufiOvRR5sVhg" type="4001" element="_Vsm0XNd_EeufiOvRR5sVhg" source="_KdsE0Nd_EeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1138 <children xmi:type="notation:Node" xmi:id="_VtAc8Nd_EeufiOvRR5sVhg" type="6001">
1139 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtBEANd_EeufiOvRR5sVhg" y="-10"/>
1140 </children>
1141 <children xmi:type="notation:Node" xmi:id="_VtBEAdd_EeufiOvRR5sVhg" type="6002">
1142 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtBEAtd_EeufiOvRR5sVhg" y="10"/>
1143 </children>
1144 <children xmi:type="notation:Node" xmi:id="_VtBrENd_EeufiOvRR5sVhg" type="6003">
1145 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VtBrEdd_EeufiOvRR5sVhg" y="10"/>
1146 </children>
1147 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Vs_14dd_EeufiOvRR5sVhg" routing="Tree"/>
1148 <styles xmi:type="notation:FontStyle" xmi:id="_Vs_14td_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1149 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vs_149d_EeufiOvRR5sVhg" points="[0, 0, -72, 120]$[72, -120, 0, 0]"/>
1150 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VtEHUNd_EeufiOvRR5sVhg" id="(0.6101694915254238,0.0)"/>
1151 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VtEHUdd_EeufiOvRR5sVhg" id="(0.5,0.5)"/>
1152 </edges>
1153 <edges xmi:type="notation:Edge" xmi:id="_WEehwNd_EeufiOvRR5sVhg" type="4001" element="_WEGuVtd_EeufiOvRR5sVhg" source="_MAkM0Nd_EeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1154 <children xmi:type="notation:Node" xmi:id="_WEehxNd_EeufiOvRR5sVhg" type="6001">
1155 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WEehxdd_EeufiOvRR5sVhg" y="-10"/>
1156 </children>
1157 <children xmi:type="notation:Node" xmi:id="_WEehxtd_EeufiOvRR5sVhg" type="6002">
1158 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WEehx9d_EeufiOvRR5sVhg" y="10"/>
1159 </children>
1160 <children xmi:type="notation:Node" xmi:id="_WEehyNd_EeufiOvRR5sVhg" type="6003">
1161 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WEehydd_EeufiOvRR5sVhg" y="10"/>
1162 </children>
1163 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WEehwdd_EeufiOvRR5sVhg" routing="Tree"/>
1164 <styles xmi:type="notation:FontStyle" xmi:id="_WEehwtd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1165 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WEehw9d_EeufiOvRR5sVhg" points="[0, 0, 0, 46]$[0, -46, 0, 0]"/>
1166 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WEfI0Nd_EeufiOvRR5sVhg" id="(0.6101694915254238,0.0)"/>
1167 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WEfI0dd_EeufiOvRR5sVhg" id="(0.5,0.5)"/>
1168 </edges>
1169 <edges xmi:type="notation:Edge" xmi:id="_Wa3BcNd_EeufiOvRR5sVhg" type="4001" element="_Waktldd_EeufiOvRR5sVhg" source="_RwPFYNd_EeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1170 <children xmi:type="notation:Node" xmi:id="_Wa3ogNd_EeufiOvRR5sVhg" type="6001">
1171 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wa3ogdd_EeufiOvRR5sVhg" y="-10"/>
1172 </children>
1173 <children xmi:type="notation:Node" xmi:id="_Wa3ogtd_EeufiOvRR5sVhg" type="6002">
1174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wa3og9d_EeufiOvRR5sVhg" y="10"/>
1175 </children>
1176 <children xmi:type="notation:Node" xmi:id="_Wa3ohNd_EeufiOvRR5sVhg" type="6003">
1177 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Wa3ohdd_EeufiOvRR5sVhg" y="10"/>
1178 </children>
1179 <styles xmi:type="notation:ConnectorStyle" xmi:id="_Wa3Bcdd_EeufiOvRR5sVhg" routing="Tree"/>
1180 <styles xmi:type="notation:FontStyle" xmi:id="_Wa3Bctd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1181 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wa3Bc9d_EeufiOvRR5sVhg" points="[0, 0, 85, 132]$[-85, -132, 0, 0]"/>
1182 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wa3ohtd_EeufiOvRR5sVhg" id="(0.5,0.0)"/>
1183 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Wa3oh9d_EeufiOvRR5sVhg" id="(0.5,0.5)"/>
1184 </edges>
1185 <edges xmi:type="notation:Edge" xmi:id="_tXLzQNd_EeufiOvRR5sVhg" type="4001" element="_KmxbkNYPEeuF_d0WEhR3Xw" source="_6KEUMKA6EeuqkpDnuik1sg" target="_rwMAQNd_EeufiOvRR5sVhg">
1186 <children xmi:type="notation:Node" xmi:id="_tXMaUNd_EeufiOvRR5sVhg" type="6001">
1187 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tXMaUdd_EeufiOvRR5sVhg" y="-10"/>
1188 </children>
1189 <children xmi:type="notation:Node" xmi:id="_tXMaUtd_EeufiOvRR5sVhg" type="6002">
1190 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tXMaU9d_EeufiOvRR5sVhg" y="10"/>
1191 </children>
1192 <children xmi:type="notation:Node" xmi:id="_tXMaVNd_EeufiOvRR5sVhg" type="6003">
1193 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tXMaVdd_EeufiOvRR5sVhg" x="-11" y="10"/>
1194 </children>
1195 <styles xmi:type="notation:ConnectorStyle" xmi:id="_tXLzQdd_EeufiOvRR5sVhg" routing="Rectilinear"/>
1196 <styles xmi:type="notation:FontStyle" xmi:id="_tXLzQtd_EeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1197 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tXLzQ9d_EeufiOvRR5sVhg" points="[60, 38, 0, -81]$[60, 108, 0, -11]"/>
1198 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tXNocNd_EeufiOvRR5sVhg" id="(0.0,0.6122448979591837)"/>
1199 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tXNocdd_EeufiOvRR5sVhg" id="(0.5084745762711864,0.11224489795918367)"/>
1200 </edges>
1201 <edges xmi:type="notation:Edge" xmi:id="_zhTMINd_EeufiOvRR5sVhg" type="4001" element="_zhINQtd_EeufiOvRR5sVhg" source="_mCh54Nd_EeufiOvRR5sVhg" target="_rwMAQNd_EeufiOvRR5sVhg">
1202 <children xmi:type="notation:Node" xmi:id="_zhTzMNd_EeufiOvRR5sVhg" type="6001">
1203 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zhTzMdd_EeufiOvRR5sVhg" y="-10"/>
1204 </children>
1205 <children xmi:type="notation:Node" xmi:id="_zhTzMtd_EeufiOvRR5sVhg" type="6002">
1206 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zhTzM9d_EeufiOvRR5sVhg" y="10"/>
1207 </children>
1208 <children xmi:type="notation:Node" xmi:id="_zhTzNNd_EeufiOvRR5sVhg" type="6003">
1209 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zhTzNdd_EeufiOvRR5sVhg" y="10"/>
1210 </children>
1211 <styles xmi:type="notation:ConnectorStyle" xmi:id="_zhTMIdd_EeufiOvRR5sVhg" routing="Tree"/>
1212 <styles xmi:type="notation:FontStyle" xmi:id="_zhTMItd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1213 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zhTMI9d_EeufiOvRR5sVhg" points="[0, 0, -133, 58]$[133, -58, 0, 0]"/>
1214 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zhTzNtd_EeufiOvRR5sVhg" id="(0.5037593984962406,0.0)"/>
1215 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zhTzN9d_EeufiOvRR5sVhg" id="(0.5,0.5)"/>
1216 </edges>
1217 <edges xmi:type="notation:Edge" xmi:id="_1HiKINd_EeufiOvRR5sVhg" type="4001" element="_1HYZXNd_EeufiOvRR5sVhg" source="_IwsqwNYPEeuF_d0WEhR3Xw" target="_rwMAQNd_EeufiOvRR5sVhg">
1218 <children xmi:type="notation:Node" xmi:id="_1HixMNd_EeufiOvRR5sVhg" type="6001">
1219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1HixMdd_EeufiOvRR5sVhg" y="-10"/>
1220 </children>
1221 <children xmi:type="notation:Node" xmi:id="_1HixMtd_EeufiOvRR5sVhg" type="6002">
1222 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1HixM9d_EeufiOvRR5sVhg" y="10"/>
1223 </children>
1224 <children xmi:type="notation:Node" xmi:id="_1HixNNd_EeufiOvRR5sVhg" type="6003">
1225 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1HixNdd_EeufiOvRR5sVhg" y="10"/>
1226 </children>
1227 <styles xmi:type="notation:ConnectorStyle" xmi:id="_1HiKIdd_EeufiOvRR5sVhg" routing="Tree"/>
1228 <styles xmi:type="notation:FontStyle" xmi:id="_1HiKItd_EeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1229 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_1HiKI9d_EeufiOvRR5sVhg" points="[0, 0, 132, 58]$[-132, -58, 0, 0]"/>
1230 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1HixNtd_EeufiOvRR5sVhg" id="(0.6114649681528662,0.0)"/>
1231 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1HixN9d_EeufiOvRR5sVhg" id="(0.5084745762711864,0.11224489795918367)"/>
1232 </edges>
1233 <edges xmi:type="notation:Edge" xmi:id="_YAyoANeAEeufiOvRR5sVhg" type="4001" element="_YAoQHdeAEeufiOvRR5sVhg" source="_p9wywKA8EeuqkpDnuik1sg" target="_VikSENeAEeufiOvRR5sVhg">
1234 <children xmi:type="notation:Node" xmi:id="_YAyoBNeAEeufiOvRR5sVhg" type="6001">
1235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YAyoBdeAEeufiOvRR5sVhg" y="-10"/>
1236 </children>
1237 <children xmi:type="notation:Node" xmi:id="_YAyoBteAEeufiOvRR5sVhg" type="6002">
1238 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YAyoB9eAEeufiOvRR5sVhg" y="10"/>
1239 </children>
1240 <children xmi:type="notation:Node" xmi:id="_YAyoCNeAEeufiOvRR5sVhg" type="6003">
1241 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YAyoCdeAEeufiOvRR5sVhg" y="10"/>
1242 </children>
1243 <styles xmi:type="notation:ConnectorStyle" xmi:id="_YAyoAdeAEeufiOvRR5sVhg" routing="Rectilinear"/>
1244 <styles xmi:type="notation:FontStyle" xmi:id="_YAyoAteAEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1245 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAyoA9eAEeufiOvRR5sVhg" points="[0, 0, 0, -82]$[0, 82, 0, 0]"/>
1246 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YAzPENeAEeufiOvRR5sVhg" id="(0.4406779661016949,1.0)"/>
1247 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YAzPEdeAEeufiOvRR5sVhg" id="(0.45112781954887216,0.0)"/>
1248 </edges>
1249 <edges xmi:type="notation:Edge" xmi:id="_dDz18NeAEeufiOvRR5sVhg" type="4001" element="_dDd3wteAEeufiOvRR5sVhg" source="_OWhiINeAEeufiOvRR5sVhg" target="_VikSENeAEeufiOvRR5sVhg">
1250 <children xmi:type="notation:Node" xmi:id="_dDz19NeAEeufiOvRR5sVhg" type="6001">
1251 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dDz19deAEeufiOvRR5sVhg" y="-10"/>
1252 </children>
1253 <children xmi:type="notation:Node" xmi:id="_dDz19teAEeufiOvRR5sVhg" type="6002">
1254 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dDz199eAEeufiOvRR5sVhg" y="10"/>
1255 </children>
1256 <children xmi:type="notation:Node" xmi:id="_dDz1-NeAEeufiOvRR5sVhg" type="6003">
1257 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dDz1-deAEeufiOvRR5sVhg" y="10"/>
1258 </children>
1259 <styles xmi:type="notation:ConnectorStyle" xmi:id="_dDz18deAEeufiOvRR5sVhg" routing="Tree"/>
1260 <styles xmi:type="notation:FontStyle" xmi:id="_dDz18teAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1261 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dDz189eAEeufiOvRR5sVhg" points="[0, 0, -107, 154]$[107, -154, 0, 0]"/>
1262 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dDz1-teAEeufiOvRR5sVhg" id="(0.38961038961038963,0.0)"/>
1263 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dDz1-9eAEeufiOvRR5sVhg" id="(0.5,0.5)"/>
1264 </edges>
1265 <edges xmi:type="notation:Edge" xmi:id="_g_pZYNeAEeufiOvRR5sVhg" type="4001" element="_g_aI1teAEeufiOvRR5sVhg" source="_dZlRoNeAEeufiOvRR5sVhg" target="_VikSENeAEeufiOvRR5sVhg">
1266 <children xmi:type="notation:Node" xmi:id="_g_qAcNeAEeufiOvRR5sVhg" type="6001">
1267 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_qAcdeAEeufiOvRR5sVhg" y="-10"/>
1268 </children>
1269 <children xmi:type="notation:Node" xmi:id="_g_qActeAEeufiOvRR5sVhg" type="6002">
1270 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_qAc9eAEeufiOvRR5sVhg" y="10"/>
1271 </children>
1272 <children xmi:type="notation:Node" xmi:id="_g_qAdNeAEeufiOvRR5sVhg" type="6003">
1273 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_g_qAddeAEeufiOvRR5sVhg" y="10"/>
1274 </children>
1275 <styles xmi:type="notation:ConnectorStyle" xmi:id="_g_pZYdeAEeufiOvRR5sVhg" routing="Tree"/>
1276 <styles xmi:type="notation:FontStyle" xmi:id="_g_pZYteAEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1277 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_g_pZY9eAEeufiOvRR5sVhg" points="[0, 0, -132, 154]$[132, -154, 0, 0]"/>
1278 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_qAdteAEeufiOvRR5sVhg" id="(0.27956989247311825,0.05102040816326531)"/>
1279 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_g_qAd9eAEeufiOvRR5sVhg" id="(0.45112781954887216,0.0)"/>
1280 </edges>
1281 <edges xmi:type="notation:Edge" xmi:id="_nucMoNeAEeufiOvRR5sVhg" type="4001" element="_nuG1dteAEeufiOvRR5sVhg" source="_mCh54Nd_EeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1282 <children xmi:type="notation:Node" xmi:id="_nucMpNeAEeufiOvRR5sVhg" type="6001">
1283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nucMpdeAEeufiOvRR5sVhg" y="-10"/>
1284 </children>
1285 <children xmi:type="notation:Node" xmi:id="_nucMpteAEeufiOvRR5sVhg" type="6002">
1286 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nucMp9eAEeufiOvRR5sVhg" y="10"/>
1287 </children>
1288 <children xmi:type="notation:Node" xmi:id="_nucMqNeAEeufiOvRR5sVhg" type="6003">
1289 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nucMqdeAEeufiOvRR5sVhg" y="10"/>
1290 </children>
1291 <styles xmi:type="notation:ConnectorStyle" xmi:id="_nucModeAEeufiOvRR5sVhg" routing="Rectilinear"/>
1292 <styles xmi:type="notation:FontStyle" xmi:id="_nucMoteAEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1293 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_nucMo9eAEeufiOvRR5sVhg" points="[0, 11, -422, 12]$[422, 11, 0, 12]"/>
1294 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nuczsNeAEeufiOvRR5sVhg" id="(1.0,0.6224489795918368)"/>
1295 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nuczsdeAEeufiOvRR5sVhg" id="(0.0,0.4897959183673469)"/>
1296 </edges>
1297 <edges xmi:type="notation:Edge" xmi:id="_pMxL0NeAEeufiOvRR5sVhg" type="4001" element="_pMdCzNeAEeufiOvRR5sVhg" source="_dZlRoNeAEeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1298 <children xmi:type="notation:Node" xmi:id="_pMxL1NeAEeufiOvRR5sVhg" type="6001">
1299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pMxL1deAEeufiOvRR5sVhg" x="-352" y="1"/>
1300 </children>
1301 <children xmi:type="notation:Node" xmi:id="_pMxL1teAEeufiOvRR5sVhg" type="6002">
1302 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pMxL19eAEeufiOvRR5sVhg" y="10"/>
1303 </children>
1304 <children xmi:type="notation:Node" xmi:id="_pMxL2NeAEeufiOvRR5sVhg" type="6003">
1305 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pMxL2deAEeufiOvRR5sVhg" y="10"/>
1306 </children>
1307 <styles xmi:type="notation:ConnectorStyle" xmi:id="_pMxL0deAEeufiOvRR5sVhg" routing="Rectilinear"/>
1308 <styles xmi:type="notation:FontStyle" xmi:id="_pMxL0teAEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1309 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pMxL09eAEeufiOvRR5sVhg" points="[0, 0, -212, -550]$[0, 586, -212, 36]$[176, 586, -36, 36]"/>
1310 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pMxy4NeAEeufiOvRR5sVhg" id="(0.5,1.0)"/>
1311 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pMxy4deAEeufiOvRR5sVhg" id="(0.3050847457627119,0.0)"/>
1312 </edges>
1313 <edges xmi:type="notation:Edge" xmi:id="_vRxbMNeAEeufiOvRR5sVhg" type="4001" element="_vRo4VteAEeufiOvRR5sVhg" source="_OWhiINeAEeufiOvRR5sVhg" target="_xsq_MKA8EeuqkpDnuik1sg">
1314 <children xmi:type="notation:Node" xmi:id="_vRxbNNeAEeufiOvRR5sVhg" type="6001">
1315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vRxbNdeAEeufiOvRR5sVhg" x="-196" y="-535"/>
1316 </children>
1317 <children xmi:type="notation:Node" xmi:id="_vRyCQNeAEeufiOvRR5sVhg" type="6002">
1318 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vRyCQdeAEeufiOvRR5sVhg" y="10"/>
1319 </children>
1320 <children xmi:type="notation:Node" xmi:id="_vRyCQteAEeufiOvRR5sVhg" type="6003">
1321 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vRyCQ9eAEeufiOvRR5sVhg" y="10"/>
1322 </children>
1323 <styles xmi:type="notation:ConnectorStyle" xmi:id="_vRxbMdeAEeufiOvRR5sVhg" routing="Rectilinear"/>
1324 <styles xmi:type="notation:FontStyle" xmi:id="_vRxbMteAEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1325 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vRxbM9eAEeufiOvRR5sVhg" points="[0, 0, 950, 564]$[0, -564, 950, 0]$[-950, -564, 0, 0]"/>
1326 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vRyCRNeAEeufiOvRR5sVhg" id="(0.7012987012987013,0.0)"/>
1327 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vRyCRdeAEeufiOvRR5sVhg" id="(1.0,0.6122448979591837)"/>
1328 </edges>
1329 <edges xmi:type="notation:Edge" xmi:id="_AmNXcNeBEeufiOvRR5sVhg" type="4001" element="_AmBxQNeBEeufiOvRR5sVhg" source="_9Tu6ENeAEeufiOvRR5sVhg" target="_xsq_MKA8EeuqkpDnuik1sg">
1330 <children xmi:type="notation:Node" xmi:id="_AmN-gNeBEeufiOvRR5sVhg" type="6001">
1331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AmN-gdeBEeufiOvRR5sVhg" x="-456" y="-139"/>
1332 </children>
1333 <children xmi:type="notation:Node" xmi:id="_AmN-gteBEeufiOvRR5sVhg" type="6002">
1334 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AmN-g9eBEeufiOvRR5sVhg" x="217" y="10"/>
1335 </children>
1336 <children xmi:type="notation:Node" xmi:id="_AmN-hNeBEeufiOvRR5sVhg" type="6003">
1337 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AmN-hdeBEeufiOvRR5sVhg" x="9" y="10"/>
1338 </children>
1339 <styles xmi:type="notation:ConnectorStyle" xmi:id="_AmNXcdeBEeufiOvRR5sVhg" routing="Rectilinear"/>
1340 <styles xmi:type="notation:FontStyle" xmi:id="_AmNXcteBEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1341 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AmNXc9eBEeufiOvRR5sVhg" points="[70, -12, 1068, 156]$[70, -168, 1068, 0]$[-998, -168, 0, 0]"/>
1342 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AmN-hteBEeufiOvRR5sVhg" id="(0.0,0.12244897959183673)"/>
1343 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AmN-h9eBEeufiOvRR5sVhg" id="(1.0,0.3673469387755102)"/>
1344 </edges>
1345 <edges xmi:type="notation:Edge" xmi:id="_DlH_oNeBEeufiOvRR5sVhg" type="4001" element="_DkzPhteBEeufiOvRR5sVhg" source="_9Tu6ENeAEeufiOvRR5sVhg" target="_e73WIKA9EeuqkpDnuik1sg">
1346 <children xmi:type="notation:Node" xmi:id="_DlH_pNeBEeufiOvRR5sVhg" type="6001">
1347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DlH_pdeBEeufiOvRR5sVhg" x="-12" y="-10"/>
1348 </children>
1349 <children xmi:type="notation:Node" xmi:id="_DlH_pteBEeufiOvRR5sVhg" type="6002">
1350 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DlH_p9eBEeufiOvRR5sVhg" x="-12" y="10"/>
1351 </children>
1352 <children xmi:type="notation:Node" xmi:id="_DlH_qNeBEeufiOvRR5sVhg" type="6003">
1353 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DlH_qdeBEeufiOvRR5sVhg" x="-12" y="10"/>
1354 </children>
1355 <styles xmi:type="notation:ConnectorStyle" xmi:id="_DlH_odeBEeufiOvRR5sVhg" routing="Tree"/>
1356 <styles xmi:type="notation:FontStyle" xmi:id="_DlH_oteBEeufiOvRR5sVhg" fontName="Noto Sans" fontHeight="8"/>
1357 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DlH_o9eBEeufiOvRR5sVhg" points="[0, -6, 1293, 192]$[0, -42, 1293, 156]$[-1292, -42, 1, 156]$[-1292, -100, 1, 98]"/>
1358 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DlH_qteBEeufiOvRR5sVhg" id="(0.14084507042253522,0.061224489795918366)"/>
1359 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DlH_q9eBEeufiOvRR5sVhg" id="(0.5,0.0)"/>
1360 </edges>
1361 <edges xmi:type="notation:Edge" xmi:id="_WiUCYNeBEeufiOvRR5sVhg" type="4001" element="_WiKRoteBEeufiOvRR5sVhg" source="_9Tu6ENeAEeufiOvRR5sVhg" target="_IsM5ENd_EeufiOvRR5sVhg">
1362 <children xmi:type="notation:Node" xmi:id="_WiUCZNeBEeufiOvRR5sVhg" type="6001">
1363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WiUCZdeBEeufiOvRR5sVhg" x="-523" y="2"/>
1364 </children>
1365 <children xmi:type="notation:Node" xmi:id="_WiUCZteBEeufiOvRR5sVhg" type="6002">
1366 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WiUCZ9eBEeufiOvRR5sVhg" x="-4" y="10"/>
1367 </children>
1368 <children xmi:type="notation:Node" xmi:id="_WiUCaNeBEeufiOvRR5sVhg" type="6003">
1369 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_WiUCadeBEeufiOvRR5sVhg" x="-118" y="10"/>
1370 </children>
1371 <styles xmi:type="notation:ConnectorStyle" xmi:id="_WiUCYdeBEeufiOvRR5sVhg" routing="Rectilinear"/>
1372 <styles xmi:type="notation:FontStyle" xmi:id="_WiUCYteBEeufiOvRR5sVhg" fontColor="7490599" fontName="Noto Sans" fontHeight="8"/>
1373 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WiUCY9eBEeufiOvRR5sVhg" points="[0, 0, 96, -982]$[0, 1030, 96, 48]$[-74, 1030, 22, 48]"/>
1374 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WiUCateBEeufiOvRR5sVhg" id="(0.5070422535211268,1.0)"/>
1375 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WiUCa9eBEeufiOvRR5sVhg" id="(0.8135593220338984,0.0)"/>
1376 </edges>
1067 </data> 1377 </data>
1068 </ownedAnnotationEntries> 1378 </ownedAnnotationEntries>
1069 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY"> 1379 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Csiy8KA4EeuqkpDnuik1sg" source="DANNOTATION_CUSTOMIZATION_KEY">
@@ -1533,13 +1843,13 @@
1533 </ownedStyle> 1843 </ownedStyle>
1534 <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']"/> 1844 <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']"/>
1535 </ownedDiagramElements> 1845 </ownedDiagramElements>
1536 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg" width="12" height="10"> 1846 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_p9d30KA8EeuqkpDnuik1sg" name="Assertion" tooltipText="" outgoingEdges="_w-iG36A8EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _YAoQHdeAEeufiOvRR5sVhg" width="12" height="10">
1537 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1847 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1538 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1848 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1539 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1849 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1540 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 1850 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1541 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 1851 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
1542 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_NgedbaA9EeuqkpDnuik1sg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> 1852 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_ZT0WKteAEeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
1543 <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 <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"/>
1544 </ownedStyle> 1854 </ownedStyle>
1545 <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 <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']"/>
@@ -1566,7 +1876,7 @@
1566 </ownedStyle> 1876 </ownedStyle>
1567 <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']"/> 1877 <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']"/>
1568 </ownedDiagramElements> 1878 </ownedDiagramElements>
1569 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_QlymotbNEeuymriYTNxK2g" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _79nqlqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g" width="12" height="10"> 1879 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_xsYrUKA8EeuqkpDnuik1sg" name="Node" tooltipText="" outgoingEdges="_QlymotbNEeuymriYTNxK2g" incomingEdges="_4eU5TqA8EeuqkpDnuik1sg _-XLKltawEeuymriYTNxK2g _gRDCgNbGEeuymriYTNxK2g _vRo4VteAEeufiOvRR5sVhg _AmBxQNeBEeufiOvRR5sVhg" width="12" height="10">
1570 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1880 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1571 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/> 1881 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Node"/>
1572 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1882 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1590,20 +1900,6 @@
1590 </ownedStyle> 1900 </ownedStyle>
1591 <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 <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']"/>
1592 </ownedDiagramElements> 1902 </ownedDiagramElements>
1593 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_79nqlqA8EeuqkpDnuik1sg" name="[0..*] arguments" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
1594 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
1595 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
1596 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_79oRoKA8EeuqkpDnuik1sg" routingStyle="manhattan" strokeColor="0,0,0">
1597 <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"/>
1598 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_79oRoqA8EeuqkpDnuik1sg" showIcon="false">
1599 <customFeatures>labelSize</customFeatures>
1600 </centerLabelStyle>
1601 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_79oRoaA8EeuqkpDnuik1sg" showIcon="false" labelColor="39,76,114">
1602 <customFeatures>labelSize</customFeatures>
1603 </endLabelStyle>
1604 </ownedStyle>
1605 <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']"/>
1606 </ownedDiagramElements>
1607 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BMXnYKA9EeuqkpDnuik1sg" name="LogicValue" tooltipText="" width="12" height="10"> 1903 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_BMXnYKA9EeuqkpDnuik1sg" name="LogicValue" tooltipText="" width="12" height="10">
1608 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/> 1904 <target xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/>
1609 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/> 1905 <semanticElements xmi:type="ecore:EEnum" href="src/main/resources/model/problem.ecore#//LogicValue"/>
@@ -1650,7 +1946,7 @@
1650 </ownedStyle> 1946 </ownedStyle>
1651 <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']"/> 1947 <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']"/>
1652 </ownedDiagramElements> 1948 </ownedDiagramElements>
1653 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g" width="12" height="10"> 1949 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_e7ydoKA9EeuqkpDnuik1sg" name="Statement" tooltipText="" incomingEdges="_hU64ZqA9EeuqkpDnuik1sg _mQFKsqA9EeuqkpDnuik1sg _mzziwKA9EeuqkpDnuik1sg _plK3JqA9EeuqkpDnuik1sg _vdptgqA9EeuqkpDnuik1sg _WX_5w9bGEeuymriYTNxK2g _DkzPhteBEeufiOvRR5sVhg" width="12" height="10">
1654 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1950 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1655 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/> 1951 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Statement"/>
1656 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 1952 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
@@ -1678,12 +1974,12 @@
1678 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_mQFKsqA9EeuqkpDnuik1sg" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg"> 1974 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_mQFKsqA9EeuqkpDnuik1sg" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
1679 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1975 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1680 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/> 1976 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Assertion"/>
1681 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_mQFxsKA9EeuqkpDnuik1sg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree"> 1977 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_ZT8SGteAEeufiOvRR5sVhg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
1682 <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']/@conditionnalStyles.0/@style"/> 1978 <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']/@conditionnalStyles.0/@style"/>
1683 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_mQFxsaA9EeuqkpDnuik1sg" showIcon="false"> 1979 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_ZT8SG9eAEeufiOvRR5sVhg" showIcon="false">
1684 <labelFormat>italic</labelFormat> 1980 <labelFormat>italic</labelFormat>
1685 </beginLabelStyle> 1981 </beginLabelStyle>
1686 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_mQFxsqA9EeuqkpDnuik1sg" showIcon="false"/> 1982 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ZT8SHNeAEeufiOvRR5sVhg" showIcon="false"/>
1687 </ownedStyle> 1983 </ownedStyle>
1688 <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']"/> 1984 <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']"/>
1689 </ownedDiagramElements> 1985 </ownedDiagramElements>
@@ -1925,9 +2221,9 @@
1925 </ownedStyle> 2221 </ownedStyle>
1926 <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']"/> 2222 <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']"/>
1927 </ownedDiagramElements> 2223 </ownedDiagramElements>
1928 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IwJ4MNYPEeuF_d0WEhR3Xw" name="Argument" tooltipText="" outgoingEdges="_T1fN5tYPEeuF_d0WEhR3Xw _bx-jYtYPEeuF_d0WEhR3Xw" incomingEdges="_KmxbkNYPEeuF_d0WEhR3Xw" width="12" height="10"> 2224 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IwJ4MNYPEeuF_d0WEhR3Xw" name="VariableOrNodeArgument" tooltipText="" outgoingEdges="_T1fN5tYPEeuF_d0WEhR3Xw _bx-jYtYPEeuF_d0WEhR3Xw _1HYZXNd_EeufiOvRR5sVhg" width="12" height="10">
1929 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/> 2225 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument"/>
1930 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/> 2226 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument"/>
1931 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> 2227 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
1932 <arrangeConstraints>KEEP_SIZE</arrangeConstraints> 2228 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
1933 <arrangeConstraints>KEEP_RATIO</arrangeConstraints> 2229 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
@@ -1936,18 +2232,22 @@
1936 </ownedStyle> 2232 </ownedStyle>
1937 <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']"/> 2233 <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']"/>
1938 </ownedDiagramElements> 2234 </ownedDiagramElements>
1939 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KmxbkNYPEeuF_d0WEhR3Xw" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_IwJ4MNYPEeuF_d0WEhR3Xw"> 2235 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_KmxbkNYPEeuF_d0WEhR3Xw" name="[0..*] arguments" sourceNode="_6J_bsKA6EeuqkpDnuik1sg" targetNode="_rwC2UNd_EeufiOvRR5sVhg">
1940 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/> 2236 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1941 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/> 2237 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Atom/arguments"/>
1942 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_P-mb4NYPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> 2238 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_P-mb4NYPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1943 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_P-mb4tYPEeuF_d0WEhR3Xw" showIcon="false"/> 2239 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_P-mb4tYPEeuF_d0WEhR3Xw" showIcon="false">
1944 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_P-mb4dYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/> 2240 <customFeatures>labelSize</customFeatures>
2241 </centerLabelStyle>
2242 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_P-mb4dYPEeuF_d0WEhR3Xw" showIcon="false" labelColor="39,76,114">
2243 <customFeatures>labelSize</customFeatures>
2244 </endLabelStyle>
1945 </ownedStyle> 2245 </ownedStyle>
1946 <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']"/> 2246 <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']"/>
1947 </ownedDiagramElements> 2247 </ownedDiagramElements>
1948 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variableOrNode" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_KwtCUNbNEeuymriYTNxK2g"> 2248 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_T1fN5tYPEeuF_d0WEhR3Xw" name="[0..1] variableOrNode" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_KwtCUNbNEeuymriYTNxK2g">
1949 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/> 2249 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument/variableOrNode"/>
1950 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/variableOrNode"/> 2250 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument/variableOrNode"/>
1951 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0"> 2251 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_T1fN59YPEeuF_d0WEhR3Xw" routingStyle="manhattan" strokeColor="0,0,0">
1952 <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"/> 2252 <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"/>
1953 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false"> 2253 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_T1fN6dYPEeuF_d0WEhR3Xw" showIcon="false">
@@ -1960,8 +2260,8 @@
1960 <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']"/> 2260 <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']"/>
1961 </ownedDiagramElements> 2261 </ownedDiagramElements>
1962 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bx-jYtYPEeuF_d0WEhR3Xw" name="[0..1] singletonVariable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_-O6CoKA6EeuqkpDnuik1sg"> 2262 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_bx-jYtYPEeuF_d0WEhR3Xw" name="[0..1] singletonVariable" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_-O6CoKA6EeuqkpDnuik1sg">
1963 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/> 2263 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument/singletonVariable"/>
1964 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Argument/singletonVariable"/> 2264 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument/singletonVariable"/>
1965 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dcHJ49YPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> 2265 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dcHJ49YPEeuF_d0WEhR3Xw" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
1966 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dcHJ5dYPEeuF_d0WEhR3Xw" showIcon="false"/> 2266 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dcHJ5dYPEeuF_d0WEhR3Xw" showIcon="false"/>
1967 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dcHJ5NYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/> 2267 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_dcHJ5NYPEeuF_d0WEhR3Xw" labelSize="6" showIcon="false" labelColor="39,76,114"/>
@@ -2077,6 +2377,319 @@
2077 </ownedStyle> 2377 </ownedStyle>
2078 <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']"/> 2378 <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']"/>
2079 </ownedDiagramElements> 2379 </ownedDiagramElements>
2380 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_IrcrINd_EeufiOvRR5sVhg" name="Constant" tooltipText="" incomingEdges="_Vsm0XNd_EeufiOvRR5sVhg _WEGuVtd_EeufiOvRR5sVhg _Waktldd_EeufiOvRR5sVhg _nuG1dteAEeufiOvRR5sVhg _pMdCzNeAEeufiOvRR5sVhg _WiKRoteBEeufiOvRR5sVhg" width="12" height="10">
2381 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Constant"/>
2382 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Constant"/>
2383 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2384 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2385 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2386 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_J3H0Fdd_EeufiOvRR5sVhg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2387 <labelFormat>italic</labelFormat>
2388 <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']/@conditionnalStyles.1/@style"/>
2389 </ownedStyle>
2390 <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']"/>
2391 </ownedDiagramElements>
2392 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_KdTqUNd_EeufiOvRR5sVhg" name="IntConstant" tooltipText="" outgoingEdges="_Vsm0XNd_EeufiOvRR5sVhg" width="12" height="10">
2393 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//IntConstant"/>
2394 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//IntConstant"/>
2395 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2396 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2397 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2398 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_cid45dd_EeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2399 <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"/>
2400 </ownedStyle>
2401 <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']"/>
2402 <ownedElements xmi:type="diagram:DNodeListElement" uid="_brB6kNd_EeufiOvRR5sVhg" name="intValue : EInt = 0" tooltipText="">
2403 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//IntConstant/intValue"/>
2404 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//IntConstant/intValue"/>
2405 <ownedStyle xmi:type="diagram:BundledImage" uid="_cig8Mdd_EeufiOvRR5sVhg" labelAlignment="LEFT">
2406 <description xmi:type="style:BundledImageDescription" 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']/@style"/>
2407 </ownedStyle>
2408 <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']"/>
2409 </ownedElements>
2410 </ownedDiagramElements>
2411 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_MARR4Nd_EeufiOvRR5sVhg" name="RealConstant" tooltipText="" outgoingEdges="_WEGuVtd_EeufiOvRR5sVhg" width="12" height="10">
2412 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RealConstant"/>
2413 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RealConstant"/>
2414 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2415 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2416 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2417 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_f7dN99d_EeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2418 <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"/>
2419 </ownedStyle>
2420 <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']"/>
2421 <ownedElements xmi:type="diagram:DNodeListElement" uid="_exQEoNd_EeufiOvRR5sVhg" name="realValue : EDouble = 0.0" tooltipText="">
2422 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RealConstant/realValue"/>
2423 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//RealConstant/realValue"/>
2424 <ownedStyle xmi:type="diagram:BundledImage" uid="_f7fqMtd_EeufiOvRR5sVhg" labelAlignment="LEFT">
2425 <description xmi:type="style:BundledImageDescription" 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']/@style"/>
2426 </ownedStyle>
2427 <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']"/>
2428 </ownedElements>
2429 </ownedDiagramElements>
2430 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Rv9_oNd_EeufiOvRR5sVhg" name="StringConstant" tooltipText="" outgoingEdges="_Waktldd_EeufiOvRR5sVhg" width="12" height="10">
2431 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//StringConstant"/>
2432 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//StringConstant"/>
2433 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2434 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2435 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2436 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_h2BdN9d_EeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2437 <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"/>
2438 </ownedStyle>
2439 <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']"/>
2440 <ownedElements xmi:type="diagram:DNodeListElement" uid="_g4rrMNd_EeufiOvRR5sVhg" name="stringValue : EString" tooltipText="">
2441 <target xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//StringConstant/stringValue"/>
2442 <semanticElements xmi:type="ecore:EAttribute" href="src/main/resources/model/problem.ecore#//StringConstant/stringValue"/>
2443 <ownedStyle xmi:type="diagram:BundledImage" uid="_h2Egg9d_EeufiOvRR5sVhg" labelAlignment="LEFT">
2444 <description xmi:type="style:BundledImageDescription" 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']/@style"/>
2445 </ownedStyle>
2446 <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']"/>
2447 </ownedElements>
2448 </ownedDiagramElements>
2449 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Vsm0XNd_EeufiOvRR5sVhg" sourceNode="_KdTqUNd_EeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2450 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//IntConstant"/>
2451 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//IntConstant"/>
2452 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_cioRGtd_EeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2453 <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"/>
2454 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_cioRG9d_EeufiOvRR5sVhg" showIcon="false">
2455 <labelFormat>italic</labelFormat>
2456 </beginLabelStyle>
2457 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_cioRHNd_EeufiOvRR5sVhg" showIcon="false"/>
2458 </ownedStyle>
2459 <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']"/>
2460 </ownedDiagramElements>
2461 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WEGuVtd_EeufiOvRR5sVhg" sourceNode="_MARR4Nd_EeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2462 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RealConstant"/>
2463 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//RealConstant"/>
2464 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_f7lJ9td_EeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2465 <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"/>
2466 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_f7lJ99d_EeufiOvRR5sVhg" showIcon="false">
2467 <labelFormat>italic</labelFormat>
2468 </beginLabelStyle>
2469 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_f7lJ-Nd_EeufiOvRR5sVhg" showIcon="false"/>
2470 </ownedStyle>
2471 <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']"/>
2472 </ownedDiagramElements>
2473 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_Waktldd_EeufiOvRR5sVhg" sourceNode="_Rv9_oNd_EeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2474 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//StringConstant"/>
2475 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//StringConstant"/>
2476 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_h2LONtd_EeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2477 <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"/>
2478 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_h2LON9d_EeufiOvRR5sVhg" showIcon="false">
2479 <labelFormat>italic</labelFormat>
2480 </beginLabelStyle>
2481 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_h2LOONd_EeufiOvRR5sVhg" showIcon="false"/>
2482 </ownedStyle>
2483 <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']"/>
2484 </ownedDiagramElements>
2485 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_mCSCQNd_EeufiOvRR5sVhg" name="ConstantArgument" tooltipText="" outgoingEdges="_zhINQtd_EeufiOvRR5sVhg _nuG1dteAEeufiOvRR5sVhg" width="12" height="10">
2486 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantArgument"/>
2487 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantArgument"/>
2488 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2489 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2490 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2491 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_mCSCQdd_EeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2492 <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"/>
2493 </ownedStyle>
2494 <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']"/>
2495 </ownedDiagramElements>
2496 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_rwC2UNd_EeufiOvRR5sVhg" name="Argument" tooltipText="" incomingEdges="_KmxbkNYPEeuF_d0WEhR3Xw _zhINQtd_EeufiOvRR5sVhg _1HYZXNd_EeufiOvRR5sVhg" width="12" height="10">
2497 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
2498 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//Argument"/>
2499 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2500 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2501 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2502 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_uH9wANd_EeufiOvRR5sVhg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2503 <labelFormat>italic</labelFormat>
2504 <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']/@conditionnalStyles.1/@style"/>
2505 </ownedStyle>
2506 <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']"/>
2507 </ownedDiagramElements>
2508 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_zhINQtd_EeufiOvRR5sVhg" sourceNode="_mCSCQNd_EeufiOvRR5sVhg" targetNode="_rwC2UNd_EeufiOvRR5sVhg">
2509 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantArgument"/>
2510 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantArgument"/>
2511 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_zhI0ENd_EeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2512 <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"/>
2513 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_zhI0Edd_EeufiOvRR5sVhg" showIcon="false">
2514 <labelFormat>italic</labelFormat>
2515 </beginLabelStyle>
2516 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_zhI0Etd_EeufiOvRR5sVhg" showIcon="false"/>
2517 </ownedStyle>
2518 <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']"/>
2519 </ownedDiagramElements>
2520 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_1HYZXNd_EeufiOvRR5sVhg" sourceNode="_IwJ4MNYPEeuF_d0WEhR3Xw" targetNode="_rwC2UNd_EeufiOvRR5sVhg">
2521 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument"/>
2522 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//VariableOrNodeArgument"/>
2523 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_1HYZXdd_EeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2524 <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"/>
2525 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_1HYZXtd_EeufiOvRR5sVhg" showIcon="false">
2526 <labelFormat>italic</labelFormat>
2527 </beginLabelStyle>
2528 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_1HYZX9d_EeufiOvRR5sVhg" showIcon="false"/>
2529 </ownedStyle>
2530 <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']"/>
2531 </ownedDiagramElements>
2532 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_OWYYMNeAEeufiOvRR5sVhg" name="NodeAssertionArgument" tooltipText="" outgoingEdges="_dDd3wteAEeufiOvRR5sVhg _vRo4VteAEeufiOvRR5sVhg" width="12" height="10">
2533 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument"/>
2534 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument"/>
2535 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2536 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2537 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2538 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_OWY_QNeAEeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2539 <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"/>
2540 </ownedStyle>
2541 <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']"/>
2542 </ownedDiagramElements>
2543 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_ViJbUNeAEeufiOvRR5sVhg" name="AssertionArgument" tooltipText="" incomingEdges="_YAoQHdeAEeufiOvRR5sVhg _dDd3wteAEeufiOvRR5sVhg _g_aI1teAEeufiOvRR5sVhg" width="12" height="10">
2544 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AssertionArgument"/>
2545 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//AssertionArgument"/>
2546 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2547 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2548 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2549 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_XdUurteAEeufiOvRR5sVhg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
2550 <labelFormat>italic</labelFormat>
2551 <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']/@conditionnalStyles.1/@style"/>
2552 </ownedStyle>
2553 <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']"/>
2554 </ownedDiagramElements>
2555 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_YAoQHdeAEeufiOvRR5sVhg" name="[0..*] arguments" sourceNode="_p9d30KA8EeuqkpDnuik1sg" targetNode="_ViJbUNeAEeufiOvRR5sVhg">
2556 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
2557 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//Assertion/arguments"/>
2558 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_YAo3ANeAEeufiOvRR5sVhg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2559 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_YAo3AteAEeufiOvRR5sVhg" showIcon="false">
2560 <customFeatures>labelSize</customFeatures>
2561 </centerLabelStyle>
2562 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_YAo3AdeAEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2563 <customFeatures>labelSize</customFeatures>
2564 </endLabelStyle>
2565 </ownedStyle>
2566 <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']"/>
2567 </ownedDiagramElements>
2568 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_dDd3wteAEeufiOvRR5sVhg" sourceNode="_OWYYMNeAEeufiOvRR5sVhg" targetNode="_ViJbUNeAEeufiOvRR5sVhg">
2569 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument"/>
2570 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument"/>
2571 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_dDeewNeAEeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2572 <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"/>
2573 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_dDeewdeAEeufiOvRR5sVhg" showIcon="false">
2574 <labelFormat>italic</labelFormat>
2575 </beginLabelStyle>
2576 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_dDeewteAEeufiOvRR5sVhg" showIcon="false"/>
2577 </ownedStyle>
2578 <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']"/>
2579 </ownedDiagramElements>
2580 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_dZVaANeAEeufiOvRR5sVhg" name="ConstantAssertionArgument" tooltipText="" outgoingEdges="_g_aI1teAEeufiOvRR5sVhg _pMdCzNeAEeufiOvRR5sVhg" width="12" height="10">
2581 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument"/>
2582 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument"/>
2583 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2584 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2585 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2586 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_dZVaAdeAEeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2587 <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"/>
2588 </ownedStyle>
2589 <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']"/>
2590 </ownedDiagramElements>
2591 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_g_aI1teAEeufiOvRR5sVhg" sourceNode="_dZVaANeAEeufiOvRR5sVhg" targetNode="_ViJbUNeAEeufiOvRR5sVhg">
2592 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument"/>
2593 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument"/>
2594 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_g_aI19eAEeufiOvRR5sVhg" targetArrow="InputClosedArrow" routingStyle="tree">
2595 <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"/>
2596 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_g_aI2NeAEeufiOvRR5sVhg" showIcon="false">
2597 <labelFormat>italic</labelFormat>
2598 </beginLabelStyle>
2599 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_g_aI2deAEeufiOvRR5sVhg" showIcon="false"/>
2600 </ownedStyle>
2601 <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']"/>
2602 </ownedDiagramElements>
2603 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_nuG1dteAEeufiOvRR5sVhg" name="[0..1] constant" sourceNode="_mCSCQNd_EeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2604 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ConstantArgument/constant"/>
2605 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ConstantArgument/constant"/>
2606 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_nuG1d9eAEeufiOvRR5sVhg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2607 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_nuG1edeAEeufiOvRR5sVhg" showIcon="false">
2608 <customFeatures>labelSize</customFeatures>
2609 </centerLabelStyle>
2610 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_nuG1eNeAEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2611 <customFeatures>labelSize</customFeatures>
2612 </endLabelStyle>
2613 </ownedStyle>
2614 <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']"/>
2615 </ownedDiagramElements>
2616 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_pMdCzNeAEeufiOvRR5sVhg" name="[0..1] constant" sourceNode="_dZVaANeAEeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2617 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument/constant"/>
2618 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//ConstantAssertionArgument/constant"/>
2619 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_pMdp0NeAEeufiOvRR5sVhg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2620 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_pMdp0teAEeufiOvRR5sVhg" showIcon="false">
2621 <customFeatures>labelSize</customFeatures>
2622 </centerLabelStyle>
2623 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_pMdp0deAEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2624 <customFeatures>labelSize</customFeatures>
2625 </endLabelStyle>
2626 </ownedStyle>
2627 <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']"/>
2628 </ownedDiagramElements>
2629 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_vRo4VteAEeufiOvRR5sVhg" name="[0..1] node" sourceNode="_OWYYMNeAEeufiOvRR5sVhg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
2630 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument/node"/>
2631 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeAssertionArgument/node"/>
2632 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_vRo4V9eAEeufiOvRR5sVhg" routingStyle="manhattan" strokeColor="0,0,0">
2633 <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"/>
2634 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_vRo4WdeAEeufiOvRR5sVhg" showIcon="false">
2635 <customFeatures>labelSize</customFeatures>
2636 </centerLabelStyle>
2637 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_vRo4WNeAEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2638 <customFeatures>labelSize</customFeatures>
2639 </endLabelStyle>
2640 </ownedStyle>
2641 <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']"/>
2642 </ownedDiagramElements>
2643 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_9TjT4NeAEeufiOvRR5sVhg" name="NodeValueAssertion" tooltipText="" outgoingEdges="_AmBxQNeBEeufiOvRR5sVhg _DkzPhteBEeufiOvRR5sVhg _WiKRoteBEeufiOvRR5sVhg" width="12" height="10">
2644 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeValueAssertion"/>
2645 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeValueAssertion"/>
2646 <arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
2647 <arrangeConstraints>KEEP_SIZE</arrangeConstraints>
2648 <arrangeConstraints>KEEP_RATIO</arrangeConstraints>
2649 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_9Tj68NeAEeufiOvRR5sVhg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
2650 <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"/>
2651 </ownedStyle>
2652 <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']"/>
2653 </ownedDiagramElements>
2654 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_AmBxQNeBEeufiOvRR5sVhg" name="[0..1] node" sourceNode="_9TjT4NeAEeufiOvRR5sVhg" targetNode="_xsYrUKA8EeuqkpDnuik1sg">
2655 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeValueAssertion/node"/>
2656 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeValueAssertion/node"/>
2657 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_AmBxQdeBEeufiOvRR5sVhg" routingStyle="manhattan" strokeColor="0,0,0">
2658 <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"/>
2659 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_AmBxQ9eBEeufiOvRR5sVhg" showIcon="false">
2660 <customFeatures>labelSize</customFeatures>
2661 </centerLabelStyle>
2662 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_AmBxQteBEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2663 <customFeatures>labelSize</customFeatures>
2664 </endLabelStyle>
2665 </ownedStyle>
2666 <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']"/>
2667 </ownedDiagramElements>
2668 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_DkzPhteBEeufiOvRR5sVhg" sourceNode="_9TjT4NeAEeufiOvRR5sVhg" targetNode="_e7ydoKA9EeuqkpDnuik1sg">
2669 <target xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeValueAssertion"/>
2670 <semanticElements xmi:type="ecore:EClass" href="src/main/resources/model/problem.ecore#//NodeValueAssertion"/>
2671 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_DkzPh9eBEeufiOvRR5sVhg" lineStyle="dash" targetArrow="InputClosedArrow" routingStyle="tree">
2672 <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']/@conditionnalStyles.0/@style"/>
2673 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_DkzPiNeBEeufiOvRR5sVhg" showIcon="false">
2674 <labelFormat>italic</labelFormat>
2675 </beginLabelStyle>
2676 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_DkzPideBEeufiOvRR5sVhg" showIcon="false"/>
2677 </ownedStyle>
2678 <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']"/>
2679 </ownedDiagramElements>
2680 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_WiKRoteBEeufiOvRR5sVhg" name="[0..1] value" sourceNode="_9TjT4NeAEeufiOvRR5sVhg" targetNode="_IrcrINd_EeufiOvRR5sVhg">
2681 <target xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeValueAssertion/value"/>
2682 <semanticElements xmi:type="ecore:EReference" href="src/main/resources/model/problem.ecore#//NodeValueAssertion/value"/>
2683 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_WiK4cNeBEeufiOvRR5sVhg" description="_L-JhMKA4EeuqkpDnuik1sg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
2684 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_WiK4cteBEeufiOvRR5sVhg" showIcon="false">
2685 <customFeatures>labelSize</customFeatures>
2686 </centerLabelStyle>
2687 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_WiK4cdeBEeufiOvRR5sVhg" showIcon="false" labelColor="39,76,114">
2688 <customFeatures>labelSize</customFeatures>
2689 </endLabelStyle>
2690 </ownedStyle>
2691 <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']"/>
2692 </ownedDiagramElements>
2080 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> 2693 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
2081 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/> 2694 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_CsWlsKA4EeuqkpDnuik1sg"/>
2082 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> 2695 <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/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
index 4857b38a..a027e914 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Argument.java
@@ -9,61 +9,11 @@ import org.eclipse.emf.ecore.EObject;
9 * A representation of the model object '<em><b>Argument</b></em>'. 9 * A representation of the model object '<em><b>Argument</b></em>'.
10 * <!-- end-user-doc --> 10 * <!-- end-user-doc -->
11 * 11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}</li>
18 * </ul>
19 * 12 *
20 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument() 13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument()
21 * @model 14 * @model abstract="true"
22 * @generated 15 * @generated
23 */ 16 */
24public interface Argument extends EObject { 17public interface Argument extends EObject {
25 /**
26 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Variable Or Node</em>' reference.
30 * @see #setVariableOrNode(VariableOrNode)
31 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getArgument_VariableOrNode()
32 * @model
33 * @generated
34 */
35 VariableOrNode getVariableOrNode();
36
37 /**
38 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Variable Or Node</em>' reference.
42 * @see #getVariableOrNode()
43 * @generated
44 */
45 void setVariableOrNode(VariableOrNode 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 18
69} // Argument 19} // Argument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
index 758212fb..16c7ecff 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Assertion.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.Assertion#getRelation <em>Relation</em>}</li> 16 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getRelation <em>Relation</em>}</li>
17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}</li> 17 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getValue <em>Value</em>}</li>
18 * <li>{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}</li>
19 * </ul> 19 * </ul>
20 * 20 *
21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion() 21 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion()
@@ -46,16 +46,16 @@ public interface Assertion extends Statement {
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.Node}. 50 * The list contents are of type {@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument}.
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#getAssertion_Arguments() 54 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertion_Arguments()
55 * @model 55 * @model containment="true"
56 * @generated 56 * @generated
57 */ 57 */
58 EList<Node> getArguments(); 58 EList<AssertionArgument> getArguments();
59 59
60 /** 60 /**
61 * Returns the value of the '<em><b>Value</b></em>' attribute. 61 * Returns the value of the '<em><b>Value</b></em>' attribute.
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java
new file mode 100644
index 00000000..054b34a2
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/AssertionArgument.java
@@ -0,0 +1,18 @@
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>Assertion Argument</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getAssertionArgument()
14 * @model abstract="true"
15 * @generated
16 */
17public interface AssertionArgument extends EObject {
18} // AssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java
new file mode 100644
index 00000000..89f12830
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/Constant.java
@@ -0,0 +1,18 @@
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>Constant</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstant()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Constant extends EObject {
18} // Constant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java
new file mode 100644
index 00000000..96b631f0
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantArgument.java
@@ -0,0 +1,44 @@
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>Constant Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantArgument()
18 * @model
19 * @generated
20 */
21public interface ConstantArgument extends Argument {
22 /**
23 * Returns the value of the '<em><b>Constant</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Constant</em>' containment reference.
27 * @see #setConstant(Constant)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantArgument_Constant()
29 * @model containment="true"
30 * @generated
31 */
32 Constant getConstant();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Constant</em>' containment reference.
39 * @see #getConstant()
40 * @generated
41 */
42 void setConstant(Constant value);
43
44} // ConstantArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java
new file mode 100644
index 00000000..fd40de62
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ConstantAssertionArgument.java
@@ -0,0 +1,44 @@
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>Constant Assertion Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantAssertionArgument()
18 * @model
19 * @generated
20 */
21public interface ConstantAssertionArgument extends AssertionArgument {
22 /**
23 * Returns the value of the '<em><b>Constant</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Constant</em>' containment reference.
27 * @see #setConstant(Constant)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getConstantAssertionArgument_Constant()
29 * @model containment="true"
30 * @generated
31 */
32 Constant getConstant();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Constant</em>' containment reference.
39 * @see #getConstant()
40 * @generated
41 */
42 void setConstant(Constant value);
43
44} // ConstantAssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java
new file mode 100644
index 00000000..8c42d183
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/IntConstant.java
@@ -0,0 +1,45 @@
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>Int Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getIntConstant()
18 * @model
19 * @generated
20 */
21public interface IntConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>Int Value</b></em>' attribute.
24 * The default value is <code>"0"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Int Value</em>' attribute.
28 * @see #setIntValue(int)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getIntConstant_IntValue()
30 * @model default="0"
31 * @generated
32 */
33 int getIntValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Int Value</em>' attribute.
40 * @see #getIntValue()
41 * @generated
42 */
43 void setIntValue(int value);
44
45} // IntConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java
new file mode 100644
index 00000000..fd006405
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeAssertionArgument.java
@@ -0,0 +1,44 @@
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>Node Assertion Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeAssertionArgument()
18 * @model
19 * @generated
20 */
21public interface NodeAssertionArgument extends AssertionArgument {
22 /**
23 * Returns the value of the '<em><b>Node</b></em>' reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Node</em>' reference.
27 * @see #setNode(Node)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeAssertionArgument_Node()
29 * @model
30 * @generated
31 */
32 Node getNode();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Node</em>' reference.
39 * @see #getNode()
40 * @generated
41 */
42 void setNode(Node value);
43
44} // NodeAssertionArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java
new file mode 100644
index 00000000..bfe5901a
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/NodeValueAssertion.java
@@ -0,0 +1,67 @@
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>Node Value Assertion</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion()
19 * @model
20 * @generated
21 */
22public interface NodeValueAssertion extends Statement {
23 /**
24 * Returns the value of the '<em><b>Node</b></em>' reference.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Node</em>' reference.
28 * @see #setNode(Node)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion_Node()
30 * @model
31 * @generated
32 */
33 Node getNode();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Node</em>' reference.
40 * @see #getNode()
41 * @generated
42 */
43 void setNode(Node value);
44
45 /**
46 * Returns the value of the '<em><b>Value</b></em>' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Value</em>' containment reference.
50 * @see #setValue(Constant)
51 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getNodeValueAssertion_Value()
52 * @model containment="true"
53 * @generated
54 */
55 Constant getValue();
56
57 /**
58 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @param value the new value of the '<em>Value</em>' containment reference.
62 * @see #getValue()
63 * @generated
64 */
65 void setValue(Constant value);
66
67} // NodeValueAssertion
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
index e4332d19..bb97cbc9 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemFactory.java
@@ -166,13 +166,13 @@ public interface ProblemFactory extends EFactory {
166 UnboundedMultiplicity createUnboundedMultiplicity(); 166 UnboundedMultiplicity createUnboundedMultiplicity();
167 167
168 /** 168 /**
169 * Returns a new object of class '<em>Argument</em>'. 169 * Returns a new object of class '<em>Variable Or Node Argument</em>'.
170 * <!-- begin-user-doc --> 170 * <!-- begin-user-doc -->
171 * <!-- end-user-doc --> 171 * <!-- end-user-doc -->
172 * @return a new object of class '<em>Argument</em>'. 172 * @return a new object of class '<em>Variable Or Node Argument</em>'.
173 * @generated 173 * @generated
174 */ 174 */
175 Argument createArgument(); 175 VariableOrNodeArgument createVariableOrNodeArgument();
176 176
177 /** 177 /**
178 * Returns a new object of class '<em>Enum Declaration</em>'. 178 * Returns a new object of class '<em>Enum Declaration</em>'.
@@ -184,6 +184,69 @@ public interface ProblemFactory extends EFactory {
184 EnumDeclaration createEnumDeclaration(); 184 EnumDeclaration createEnumDeclaration();
185 185
186 /** 186 /**
187 * Returns a new object of class '<em>Int Constant</em>'.
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @return a new object of class '<em>Int Constant</em>'.
191 * @generated
192 */
193 IntConstant createIntConstant();
194
195 /**
196 * Returns a new object of class '<em>Real Constant</em>'.
197 * <!-- begin-user-doc -->
198 * <!-- end-user-doc -->
199 * @return a new object of class '<em>Real Constant</em>'.
200 * @generated
201 */
202 RealConstant createRealConstant();
203
204 /**
205 * Returns a new object of class '<em>String Constant</em>'.
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @return a new object of class '<em>String Constant</em>'.
209 * @generated
210 */
211 StringConstant createStringConstant();
212
213 /**
214 * Returns a new object of class '<em>Constant Argument</em>'.
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @return a new object of class '<em>Constant Argument</em>'.
218 * @generated
219 */
220 ConstantArgument createConstantArgument();
221
222 /**
223 * Returns a new object of class '<em>Node Assertion Argument</em>'.
224 * <!-- begin-user-doc -->
225 * <!-- end-user-doc -->
226 * @return a new object of class '<em>Node Assertion Argument</em>'.
227 * @generated
228 */
229 NodeAssertionArgument createNodeAssertionArgument();
230
231 /**
232 * Returns a new object of class '<em>Constant Assertion Argument</em>'.
233 * <!-- begin-user-doc -->
234 * <!-- end-user-doc -->
235 * @return a new object of class '<em>Constant Assertion Argument</em>'.
236 * @generated
237 */
238 ConstantAssertionArgument createConstantAssertionArgument();
239
240 /**
241 * Returns a new object of class '<em>Node Value Assertion</em>'.
242 * <!-- begin-user-doc -->
243 * <!-- end-user-doc -->
244 * @return a new object of class '<em>Node Value Assertion</em>'.
245 * @generated
246 */
247 NodeValueAssertion createNodeValueAssertion();
248
249 /**
187 * Returns the package supported by this factory. 250 * Returns the package supported by this factory.
188 * <!-- begin-user-doc --> 251 * <!-- begin-user-doc -->
189 * <!-- end-user-doc --> 252 * <!-- end-user-doc -->
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
index ec96501d..b711566a 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/ProblemPackage.java
@@ -813,22 +813,22 @@ public interface ProblemPackage extends EPackage {
813 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0; 813 int ASSERTION__RELATION = STATEMENT_FEATURE_COUNT + 0;
814 814
815 /** 815 /**
816 * The feature id for the '<em><b>Arguments</b></em>' reference list. 816 * The feature id for the '<em><b>Value</b></em>' attribute.
817 * <!-- begin-user-doc --> 817 * <!-- begin-user-doc -->
818 * <!-- end-user-doc --> 818 * <!-- end-user-doc -->
819 * @generated 819 * @generated
820 * @ordered 820 * @ordered
821 */ 821 */
822 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 1; 822 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 1;
823 823
824 /** 824 /**
825 * The feature id for the '<em><b>Value</b></em>' attribute. 825 * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
826 * <!-- begin-user-doc --> 826 * <!-- begin-user-doc -->
827 * <!-- end-user-doc --> 827 * <!-- end-user-doc -->
828 * @generated 828 * @generated
829 * @ordered 829 * @ordered
830 */ 830 */
831 int ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 2; 831 int ASSERTION__ARGUMENTS = STATEMENT_FEATURE_COUNT + 2;
832 832
833 /** 833 /**
834 * The number of structural features of the '<em>Assertion</em>' class. 834 * The number of structural features of the '<em>Assertion</em>' class.
@@ -1124,7 +1124,35 @@ public interface ProblemPackage extends EPackage {
1124 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument() 1124 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getArgument()
1125 * @generated 1125 * @generated
1126 */ 1126 */
1127 int ARGUMENT = 23; 1127 int ARGUMENT = 31;
1128
1129 /**
1130 * The number of structural features of the '<em>Argument</em>' class.
1131 * <!-- begin-user-doc -->
1132 * <!-- end-user-doc -->
1133 * @generated
1134 * @ordered
1135 */
1136 int ARGUMENT_FEATURE_COUNT = 0;
1137
1138 /**
1139 * The number of operations of the '<em>Argument</em>' class.
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @generated
1143 * @ordered
1144 */
1145 int ARGUMENT_OPERATION_COUNT = 0;
1146
1147 /**
1148 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl <em>Variable Or Node Argument</em>}' class.
1149 * <!-- begin-user-doc -->
1150 * <!-- end-user-doc -->
1151 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl
1152 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNodeArgument()
1153 * @generated
1154 */
1155 int VARIABLE_OR_NODE_ARGUMENT = 23;
1128 1156
1129 /** 1157 /**
1130 * The feature id for the '<em><b>Variable Or Node</b></em>' reference. 1158 * The feature id for the '<em><b>Variable Or Node</b></em>' reference.
@@ -1133,7 +1161,7 @@ public interface ProblemPackage extends EPackage {
1133 * @generated 1161 * @generated
1134 * @ordered 1162 * @ordered
1135 */ 1163 */
1136 int ARGUMENT__VARIABLE_OR_NODE = 0; 1164 int VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE = ARGUMENT_FEATURE_COUNT + 0;
1137 1165
1138 /** 1166 /**
1139 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference. 1167 * The feature id for the '<em><b>Singleton Variable</b></em>' containment reference.
@@ -1142,25 +1170,25 @@ public interface ProblemPackage extends EPackage {
1142 * @generated 1170 * @generated
1143 * @ordered 1171 * @ordered
1144 */ 1172 */
1145 int ARGUMENT__SINGLETON_VARIABLE = 1; 1173 int VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE = ARGUMENT_FEATURE_COUNT + 1;
1146 1174
1147 /** 1175 /**
1148 * The number of structural features of the '<em>Argument</em>' class. 1176 * The number of structural features of the '<em>Variable Or Node Argument</em>' class.
1149 * <!-- begin-user-doc --> 1177 * <!-- begin-user-doc -->
1150 * <!-- end-user-doc --> 1178 * <!-- end-user-doc -->
1151 * @generated 1179 * @generated
1152 * @ordered 1180 * @ordered
1153 */ 1181 */
1154 int ARGUMENT_FEATURE_COUNT = 2; 1182 int VARIABLE_OR_NODE_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 2;
1155 1183
1156 /** 1184 /**
1157 * The number of operations of the '<em>Argument</em>' class. 1185 * The number of operations of the '<em>Variable Or Node Argument</em>' class.
1158 * <!-- begin-user-doc --> 1186 * <!-- begin-user-doc -->
1159 * <!-- end-user-doc --> 1187 * <!-- end-user-doc -->
1160 * @generated 1188 * @generated
1161 * @ordered 1189 * @ordered
1162 */ 1190 */
1163 int ARGUMENT_OPERATION_COUNT = 0; 1191 int VARIABLE_OR_NODE_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0;
1164 1192
1165 /** 1193 /**
1166 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class. 1194 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
@@ -1209,6 +1237,330 @@ public interface ProblemPackage extends EPackage {
1209 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0; 1237 int ENUM_DECLARATION_OPERATION_COUNT = RELATION_OPERATION_COUNT + 0;
1210 1238
1211 /** 1239 /**
1240 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl <em>Constant</em>}' class.
1241 * <!-- begin-user-doc -->
1242 * <!-- end-user-doc -->
1243 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl
1244 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstant()
1245 * @generated
1246 */
1247 int CONSTANT = 26;
1248
1249 /**
1250 * The number of structural features of the '<em>Constant</em>' class.
1251 * <!-- begin-user-doc -->
1252 * <!-- end-user-doc -->
1253 * @generated
1254 * @ordered
1255 */
1256 int CONSTANT_FEATURE_COUNT = 0;
1257
1258 /**
1259 * The number of operations of the '<em>Constant</em>' class.
1260 * <!-- begin-user-doc -->
1261 * <!-- end-user-doc -->
1262 * @generated
1263 * @ordered
1264 */
1265 int CONSTANT_OPERATION_COUNT = 0;
1266
1267 /**
1268 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl <em>Int Constant</em>}' class.
1269 * <!-- begin-user-doc -->
1270 * <!-- end-user-doc -->
1271 * @see org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl
1272 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getIntConstant()
1273 * @generated
1274 */
1275 int INT_CONSTANT = 27;
1276
1277 /**
1278 * The feature id for the '<em><b>Int Value</b></em>' attribute.
1279 * <!-- begin-user-doc -->
1280 * <!-- end-user-doc -->
1281 * @generated
1282 * @ordered
1283 */
1284 int INT_CONSTANT__INT_VALUE = CONSTANT_FEATURE_COUNT + 0;
1285
1286 /**
1287 * The number of structural features of the '<em>Int Constant</em>' class.
1288 * <!-- begin-user-doc -->
1289 * <!-- end-user-doc -->
1290 * @generated
1291 * @ordered
1292 */
1293 int INT_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1294
1295 /**
1296 * The number of operations of the '<em>Int Constant</em>' class.
1297 * <!-- begin-user-doc -->
1298 * <!-- end-user-doc -->
1299 * @generated
1300 * @ordered
1301 */
1302 int INT_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1303
1304 /**
1305 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl <em>Real Constant</em>}' class.
1306 * <!-- begin-user-doc -->
1307 * <!-- end-user-doc -->
1308 * @see org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl
1309 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRealConstant()
1310 * @generated
1311 */
1312 int REAL_CONSTANT = 28;
1313
1314 /**
1315 * The feature id for the '<em><b>Real Value</b></em>' attribute.
1316 * <!-- begin-user-doc -->
1317 * <!-- end-user-doc -->
1318 * @generated
1319 * @ordered
1320 */
1321 int REAL_CONSTANT__REAL_VALUE = CONSTANT_FEATURE_COUNT + 0;
1322
1323 /**
1324 * The number of structural features of the '<em>Real Constant</em>' class.
1325 * <!-- begin-user-doc -->
1326 * <!-- end-user-doc -->
1327 * @generated
1328 * @ordered
1329 */
1330 int REAL_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1331
1332 /**
1333 * The number of operations of the '<em>Real Constant</em>' class.
1334 * <!-- begin-user-doc -->
1335 * <!-- end-user-doc -->
1336 * @generated
1337 * @ordered
1338 */
1339 int REAL_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1340
1341 /**
1342 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl <em>String Constant</em>}' class.
1343 * <!-- begin-user-doc -->
1344 * <!-- end-user-doc -->
1345 * @see org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl
1346 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStringConstant()
1347 * @generated
1348 */
1349 int STRING_CONSTANT = 29;
1350
1351 /**
1352 * The feature id for the '<em><b>String Value</b></em>' attribute.
1353 * <!-- begin-user-doc -->
1354 * <!-- end-user-doc -->
1355 * @generated
1356 * @ordered
1357 */
1358 int STRING_CONSTANT__STRING_VALUE = CONSTANT_FEATURE_COUNT + 0;
1359
1360 /**
1361 * The number of structural features of the '<em>String Constant</em>' class.
1362 * <!-- begin-user-doc -->
1363 * <!-- end-user-doc -->
1364 * @generated
1365 * @ordered
1366 */
1367 int STRING_CONSTANT_FEATURE_COUNT = CONSTANT_FEATURE_COUNT + 1;
1368
1369 /**
1370 * The number of operations of the '<em>String Constant</em>' class.
1371 * <!-- begin-user-doc -->
1372 * <!-- end-user-doc -->
1373 * @generated
1374 * @ordered
1375 */
1376 int STRING_CONSTANT_OPERATION_COUNT = CONSTANT_OPERATION_COUNT + 0;
1377
1378 /**
1379 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl <em>Constant Argument</em>}' class.
1380 * <!-- begin-user-doc -->
1381 * <!-- end-user-doc -->
1382 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl
1383 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantArgument()
1384 * @generated
1385 */
1386 int CONSTANT_ARGUMENT = 30;
1387
1388 /**
1389 * The feature id for the '<em><b>Constant</b></em>' containment reference.
1390 * <!-- begin-user-doc -->
1391 * <!-- end-user-doc -->
1392 * @generated
1393 * @ordered
1394 */
1395 int CONSTANT_ARGUMENT__CONSTANT = ARGUMENT_FEATURE_COUNT + 0;
1396
1397 /**
1398 * The number of structural features of the '<em>Constant Argument</em>' class.
1399 * <!-- begin-user-doc -->
1400 * <!-- end-user-doc -->
1401 * @generated
1402 * @ordered
1403 */
1404 int CONSTANT_ARGUMENT_FEATURE_COUNT = ARGUMENT_FEATURE_COUNT + 1;
1405
1406 /**
1407 * The number of operations of the '<em>Constant Argument</em>' class.
1408 * <!-- begin-user-doc -->
1409 * <!-- end-user-doc -->
1410 * @generated
1411 * @ordered
1412 */
1413 int CONSTANT_ARGUMENT_OPERATION_COUNT = ARGUMENT_OPERATION_COUNT + 0;
1414
1415 /**
1416 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl <em>Assertion Argument</em>}' class.
1417 * <!-- begin-user-doc -->
1418 * <!-- end-user-doc -->
1419 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl
1420 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertionArgument()
1421 * @generated
1422 */
1423 int ASSERTION_ARGUMENT = 33;
1424
1425 /**
1426 * The number of structural features of the '<em>Assertion Argument</em>' class.
1427 * <!-- begin-user-doc -->
1428 * <!-- end-user-doc -->
1429 * @generated
1430 * @ordered
1431 */
1432 int ASSERTION_ARGUMENT_FEATURE_COUNT = 0;
1433
1434 /**
1435 * The number of operations of the '<em>Assertion Argument</em>' class.
1436 * <!-- begin-user-doc -->
1437 * <!-- end-user-doc -->
1438 * @generated
1439 * @ordered
1440 */
1441 int ASSERTION_ARGUMENT_OPERATION_COUNT = 0;
1442
1443 /**
1444 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl <em>Node Assertion Argument</em>}' class.
1445 * <!-- begin-user-doc -->
1446 * <!-- end-user-doc -->
1447 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl
1448 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeAssertionArgument()
1449 * @generated
1450 */
1451 int NODE_ASSERTION_ARGUMENT = 32;
1452
1453 /**
1454 * The feature id for the '<em><b>Node</b></em>' reference.
1455 * <!-- begin-user-doc -->
1456 * <!-- end-user-doc -->
1457 * @generated
1458 * @ordered
1459 */
1460 int NODE_ASSERTION_ARGUMENT__NODE = ASSERTION_ARGUMENT_FEATURE_COUNT + 0;
1461
1462 /**
1463 * The number of structural features of the '<em>Node Assertion Argument</em>' class.
1464 * <!-- begin-user-doc -->
1465 * <!-- end-user-doc -->
1466 * @generated
1467 * @ordered
1468 */
1469 int NODE_ASSERTION_ARGUMENT_FEATURE_COUNT = ASSERTION_ARGUMENT_FEATURE_COUNT + 1;
1470
1471 /**
1472 * The number of operations of the '<em>Node Assertion Argument</em>' class.
1473 * <!-- begin-user-doc -->
1474 * <!-- end-user-doc -->
1475 * @generated
1476 * @ordered
1477 */
1478 int NODE_ASSERTION_ARGUMENT_OPERATION_COUNT = ASSERTION_ARGUMENT_OPERATION_COUNT + 0;
1479
1480 /**
1481 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl <em>Constant Assertion Argument</em>}' class.
1482 * <!-- begin-user-doc -->
1483 * <!-- end-user-doc -->
1484 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl
1485 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantAssertionArgument()
1486 * @generated
1487 */
1488 int CONSTANT_ASSERTION_ARGUMENT = 34;
1489
1490 /**
1491 * The feature id for the '<em><b>Constant</b></em>' containment reference.
1492 * <!-- begin-user-doc -->
1493 * <!-- end-user-doc -->
1494 * @generated
1495 * @ordered
1496 */
1497 int CONSTANT_ASSERTION_ARGUMENT__CONSTANT = ASSERTION_ARGUMENT_FEATURE_COUNT + 0;
1498
1499 /**
1500 * The number of structural features of the '<em>Constant Assertion Argument</em>' class.
1501 * <!-- begin-user-doc -->
1502 * <!-- end-user-doc -->
1503 * @generated
1504 * @ordered
1505 */
1506 int CONSTANT_ASSERTION_ARGUMENT_FEATURE_COUNT = ASSERTION_ARGUMENT_FEATURE_COUNT + 1;
1507
1508 /**
1509 * The number of operations of the '<em>Constant Assertion Argument</em>' class.
1510 * <!-- begin-user-doc -->
1511 * <!-- end-user-doc -->
1512 * @generated
1513 * @ordered
1514 */
1515 int CONSTANT_ASSERTION_ARGUMENT_OPERATION_COUNT = ASSERTION_ARGUMENT_OPERATION_COUNT + 0;
1516
1517 /**
1518 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl <em>Node Value Assertion</em>}' class.
1519 * <!-- begin-user-doc -->
1520 * <!-- end-user-doc -->
1521 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl
1522 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeValueAssertion()
1523 * @generated
1524 */
1525 int NODE_VALUE_ASSERTION = 35;
1526
1527 /**
1528 * The feature id for the '<em><b>Node</b></em>' reference.
1529 * <!-- begin-user-doc -->
1530 * <!-- end-user-doc -->
1531 * @generated
1532 * @ordered
1533 */
1534 int NODE_VALUE_ASSERTION__NODE = STATEMENT_FEATURE_COUNT + 0;
1535
1536 /**
1537 * The feature id for the '<em><b>Value</b></em>' containment reference.
1538 * <!-- begin-user-doc -->
1539 * <!-- end-user-doc -->
1540 * @generated
1541 * @ordered
1542 */
1543 int NODE_VALUE_ASSERTION__VALUE = STATEMENT_FEATURE_COUNT + 1;
1544
1545 /**
1546 * The number of structural features of the '<em>Node Value Assertion</em>' class.
1547 * <!-- begin-user-doc -->
1548 * <!-- end-user-doc -->
1549 * @generated
1550 * @ordered
1551 */
1552 int NODE_VALUE_ASSERTION_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 2;
1553
1554 /**
1555 * The number of operations of the '<em>Node Value Assertion</em>' class.
1556 * <!-- begin-user-doc -->
1557 * <!-- end-user-doc -->
1558 * @generated
1559 * @ordered
1560 */
1561 int NODE_VALUE_ASSERTION_OPERATION_COUNT = STATEMENT_OPERATION_COUNT + 0;
1562
1563 /**
1212 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 1564 * The meta object id for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
1213 * <!-- begin-user-doc --> 1565 * <!-- begin-user-doc -->
1214 * <!-- end-user-doc --> 1566 * <!-- end-user-doc -->
@@ -1216,7 +1568,7 @@ public interface ProblemPackage extends EPackage {
1216 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue() 1568 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getLogicValue()
1217 * @generated 1569 * @generated
1218 */ 1570 */
1219 int LOGIC_VALUE = 26; 1571 int LOGIC_VALUE = 36;
1220 1572
1221 /** 1573 /**
1222 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'. 1574 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Problem <em>Problem</em>}'.
@@ -1611,10 +1963,10 @@ public interface ProblemPackage extends EPackage {
1611 EReference getAssertion_Relation(); 1963 EReference getAssertion_Relation();
1612 1964
1613 /** 1965 /**
1614 * Returns the meta object for the reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'. 1966 * Returns the meta object for the containment reference list '{@link org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments <em>Arguments</em>}'.
1615 * <!-- begin-user-doc --> 1967 * <!-- begin-user-doc -->
1616 * <!-- end-user-doc --> 1968 * <!-- end-user-doc -->
1617 * @return the meta object for the reference list '<em>Arguments</em>'. 1969 * @return the meta object for the containment reference list '<em>Arguments</em>'.
1618 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments() 1970 * @see org.eclipse.viatra.solver.language.model.problem.Assertion#getArguments()
1619 * @see #getAssertion() 1971 * @see #getAssertion()
1620 * @generated 1972 * @generated
@@ -1790,6 +2142,38 @@ public interface ProblemPackage extends EPackage {
1790 EClass getUnboundedMultiplicity(); 2142 EClass getUnboundedMultiplicity();
1791 2143
1792 /** 2144 /**
2145 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument <em>Variable Or Node Argument</em>}'.
2146 * <!-- begin-user-doc -->
2147 * <!-- end-user-doc -->
2148 * @return the meta object for class '<em>Variable Or Node Argument</em>'.
2149 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument
2150 * @generated
2151 */
2152 EClass getVariableOrNodeArgument();
2153
2154 /**
2155 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}'.
2156 * <!-- begin-user-doc -->
2157 * <!-- end-user-doc -->
2158 * @return the meta object for the reference '<em>Variable Or Node</em>'.
2159 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode()
2160 * @see #getVariableOrNodeArgument()
2161 * @generated
2162 */
2163 EReference getVariableOrNodeArgument_VariableOrNode();
2164
2165 /**
2166 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}'.
2167 * <!-- begin-user-doc -->
2168 * <!-- end-user-doc -->
2169 * @return the meta object for the containment reference '<em>Singleton Variable</em>'.
2170 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable()
2171 * @see #getVariableOrNodeArgument()
2172 * @generated
2173 */
2174 EReference getVariableOrNodeArgument_SingletonVariable();
2175
2176 /**
1793 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'. 2177 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
1794 * <!-- begin-user-doc --> 2178 * <!-- begin-user-doc -->
1795 * <!-- end-user-doc --> 2179 * <!-- end-user-doc -->
@@ -1800,26 +2184,88 @@ public interface ProblemPackage extends EPackage {
1800 EClass getArgument(); 2184 EClass getArgument();
1801 2185
1802 /** 2186 /**
1803 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode <em>Variable Or Node</em>}'. 2187 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument <em>Node Assertion Argument</em>}'.
1804 * <!-- begin-user-doc --> 2188 * <!-- begin-user-doc -->
1805 * <!-- end-user-doc --> 2189 * <!-- end-user-doc -->
1806 * @return the meta object for the reference '<em>Variable Or Node</em>'. 2190 * @return the meta object for class '<em>Node Assertion Argument</em>'.
1807 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getVariableOrNode() 2191 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument
1808 * @see #getArgument()
1809 * @generated 2192 * @generated
1810 */ 2193 */
1811 EReference getArgument_VariableOrNode(); 2194 EClass getNodeAssertionArgument();
1812 2195
1813 /** 2196 /**
1814 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable <em>Singleton Variable</em>}'. 2197 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode <em>Node</em>}'.
1815 * <!-- begin-user-doc --> 2198 * <!-- begin-user-doc -->
1816 * <!-- end-user-doc --> 2199 * <!-- end-user-doc -->
1817 * @return the meta object for the containment reference '<em>Singleton Variable</em>'. 2200 * @return the meta object for the reference '<em>Node</em>'.
1818 * @see org.eclipse.viatra.solver.language.model.problem.Argument#getSingletonVariable() 2201 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument#getNode()
1819 * @see #getArgument() 2202 * @see #getNodeAssertionArgument()
1820 * @generated 2203 * @generated
1821 */ 2204 */
1822 EReference getArgument_SingletonVariable(); 2205 EReference getNodeAssertionArgument_Node();
2206
2207 /**
2208 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument <em>Assertion Argument</em>}'.
2209 * <!-- begin-user-doc -->
2210 * <!-- end-user-doc -->
2211 * @return the meta object for class '<em>Assertion Argument</em>'.
2212 * @see org.eclipse.viatra.solver.language.model.problem.AssertionArgument
2213 * @generated
2214 */
2215 EClass getAssertionArgument();
2216
2217 /**
2218 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument <em>Constant Assertion Argument</em>}'.
2219 * <!-- begin-user-doc -->
2220 * <!-- end-user-doc -->
2221 * @return the meta object for class '<em>Constant Assertion Argument</em>'.
2222 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument
2223 * @generated
2224 */
2225 EClass getConstantAssertionArgument();
2226
2227 /**
2228 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant <em>Constant</em>}'.
2229 * <!-- begin-user-doc -->
2230 * <!-- end-user-doc -->
2231 * @return the meta object for the containment reference '<em>Constant</em>'.
2232 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument#getConstant()
2233 * @see #getConstantAssertionArgument()
2234 * @generated
2235 */
2236 EReference getConstantAssertionArgument_Constant();
2237
2238 /**
2239 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion <em>Node Value Assertion</em>}'.
2240 * <!-- begin-user-doc -->
2241 * <!-- end-user-doc -->
2242 * @return the meta object for class '<em>Node Value Assertion</em>'.
2243 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion
2244 * @generated
2245 */
2246 EClass getNodeValueAssertion();
2247
2248 /**
2249 * Returns the meta object for the reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode <em>Node</em>}'.
2250 * <!-- begin-user-doc -->
2251 * <!-- end-user-doc -->
2252 * @return the meta object for the reference '<em>Node</em>'.
2253 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getNode()
2254 * @see #getNodeValueAssertion()
2255 * @generated
2256 */
2257 EReference getNodeValueAssertion_Node();
2258
2259 /**
2260 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue <em>Value</em>}'.
2261 * <!-- begin-user-doc -->
2262 * <!-- end-user-doc -->
2263 * @return the meta object for the containment reference '<em>Value</em>'.
2264 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion#getValue()
2265 * @see #getNodeValueAssertion()
2266 * @generated
2267 */
2268 EReference getNodeValueAssertion_Value();
1823 2269
1824 /** 2270 /**
1825 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'. 2271 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
@@ -1853,6 +2299,100 @@ public interface ProblemPackage extends EPackage {
1853 EClass getVariableOrNode(); 2299 EClass getVariableOrNode();
1854 2300
1855 /** 2301 /**
2302 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.Constant <em>Constant</em>}'.
2303 * <!-- begin-user-doc -->
2304 * <!-- end-user-doc -->
2305 * @return the meta object for class '<em>Constant</em>'.
2306 * @see org.eclipse.viatra.solver.language.model.problem.Constant
2307 * @generated
2308 */
2309 EClass getConstant();
2310
2311 /**
2312 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant <em>Int Constant</em>}'.
2313 * <!-- begin-user-doc -->
2314 * <!-- end-user-doc -->
2315 * @return the meta object for class '<em>Int Constant</em>'.
2316 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant
2317 * @generated
2318 */
2319 EClass getIntConstant();
2320
2321 /**
2322 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue <em>Int Value</em>}'.
2323 * <!-- begin-user-doc -->
2324 * <!-- end-user-doc -->
2325 * @return the meta object for the attribute '<em>Int Value</em>'.
2326 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant#getIntValue()
2327 * @see #getIntConstant()
2328 * @generated
2329 */
2330 EAttribute getIntConstant_IntValue();
2331
2332 /**
2333 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant <em>Real Constant</em>}'.
2334 * <!-- begin-user-doc -->
2335 * <!-- end-user-doc -->
2336 * @return the meta object for class '<em>Real Constant</em>'.
2337 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant
2338 * @generated
2339 */
2340 EClass getRealConstant();
2341
2342 /**
2343 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}'.
2344 * <!-- begin-user-doc -->
2345 * <!-- end-user-doc -->
2346 * @return the meta object for the attribute '<em>Real Value</em>'.
2347 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue()
2348 * @see #getRealConstant()
2349 * @generated
2350 */
2351 EAttribute getRealConstant_RealValue();
2352
2353 /**
2354 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant <em>String Constant</em>}'.
2355 * <!-- begin-user-doc -->
2356 * <!-- end-user-doc -->
2357 * @return the meta object for class '<em>String Constant</em>'.
2358 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant
2359 * @generated
2360 */
2361 EClass getStringConstant();
2362
2363 /**
2364 * Returns the meta object for the attribute '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}'.
2365 * <!-- begin-user-doc -->
2366 * <!-- end-user-doc -->
2367 * @return the meta object for the attribute '<em>String Value</em>'.
2368 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue()
2369 * @see #getStringConstant()
2370 * @generated
2371 */
2372 EAttribute getStringConstant_StringValue();
2373
2374 /**
2375 * Returns the meta object for class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument <em>Constant Argument</em>}'.
2376 * <!-- begin-user-doc -->
2377 * <!-- end-user-doc -->
2378 * @return the meta object for class '<em>Constant Argument</em>'.
2379 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument
2380 * @generated
2381 */
2382 EClass getConstantArgument();
2383
2384 /**
2385 * Returns the meta object for the containment reference '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant <em>Constant</em>}'.
2386 * <!-- begin-user-doc -->
2387 * <!-- end-user-doc -->
2388 * @return the meta object for the containment reference '<em>Constant</em>'.
2389 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument#getConstant()
2390 * @see #getConstantArgument()
2391 * @generated
2392 */
2393 EReference getConstantArgument_Constant();
2394
2395 /**
1856 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'. 2396 * Returns the meta object for enum '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}'.
1857 * <!-- begin-user-doc --> 2397 * <!-- begin-user-doc -->
1858 * <!-- end-user-doc --> 2398 * <!-- end-user-doc -->
@@ -2212,7 +2752,7 @@ public interface ProblemPackage extends EPackage {
2212 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation(); 2752 EReference ASSERTION__RELATION = eINSTANCE.getAssertion_Relation();
2213 2753
2214 /** 2754 /**
2215 * The meta object literal for the '<em><b>Arguments</b></em>' reference list feature. 2755 * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
2216 * <!-- begin-user-doc --> 2756 * <!-- begin-user-doc -->
2217 * <!-- end-user-doc --> 2757 * <!-- end-user-doc -->
2218 * @generated 2758 * @generated
@@ -2364,6 +2904,33 @@ public interface ProblemPackage extends EPackage {
2364 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity(); 2904 EClass UNBOUNDED_MULTIPLICITY = eINSTANCE.getUnboundedMultiplicity();
2365 2905
2366 /** 2906 /**
2907 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl <em>Variable Or Node Argument</em>}' class.
2908 * <!-- begin-user-doc -->
2909 * <!-- end-user-doc -->
2910 * @see org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl
2911 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getVariableOrNodeArgument()
2912 * @generated
2913 */
2914 EClass VARIABLE_OR_NODE_ARGUMENT = eINSTANCE.getVariableOrNodeArgument();
2915
2916 /**
2917 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature.
2918 * <!-- begin-user-doc -->
2919 * <!-- end-user-doc -->
2920 * @generated
2921 */
2922 EReference VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getVariableOrNodeArgument_VariableOrNode();
2923
2924 /**
2925 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature.
2926 * <!-- begin-user-doc -->
2927 * <!-- end-user-doc -->
2928 * @generated
2929 */
2930 EReference VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE = eINSTANCE
2931 .getVariableOrNodeArgument_SingletonVariable();
2932
2933 /**
2367 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class. 2934 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl <em>Argument</em>}' class.
2368 * <!-- begin-user-doc --> 2935 * <!-- begin-user-doc -->
2369 * <!-- end-user-doc --> 2936 * <!-- end-user-doc -->
@@ -2374,20 +2941,76 @@ public interface ProblemPackage extends EPackage {
2374 EClass ARGUMENT = eINSTANCE.getArgument(); 2941 EClass ARGUMENT = eINSTANCE.getArgument();
2375 2942
2376 /** 2943 /**
2377 * The meta object literal for the '<em><b>Variable Or Node</b></em>' reference feature. 2944 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl <em>Node Assertion Argument</em>}' class.
2378 * <!-- begin-user-doc --> 2945 * <!-- begin-user-doc -->
2379 * <!-- end-user-doc --> 2946 * <!-- end-user-doc -->
2947 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl
2948 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeAssertionArgument()
2380 * @generated 2949 * @generated
2381 */ 2950 */
2382 EReference ARGUMENT__VARIABLE_OR_NODE = eINSTANCE.getArgument_VariableOrNode(); 2951 EClass NODE_ASSERTION_ARGUMENT = eINSTANCE.getNodeAssertionArgument();
2383 2952
2384 /** 2953 /**
2385 * The meta object literal for the '<em><b>Singleton Variable</b></em>' containment reference feature. 2954 * The meta object literal for the '<em><b>Node</b></em>' reference feature.
2955 * <!-- begin-user-doc -->
2956 * <!-- end-user-doc -->
2957 * @generated
2958 */
2959 EReference NODE_ASSERTION_ARGUMENT__NODE = eINSTANCE.getNodeAssertionArgument_Node();
2960
2961 /**
2962 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl <em>Assertion Argument</em>}' class.
2963 * <!-- begin-user-doc -->
2964 * <!-- end-user-doc -->
2965 * @see org.eclipse.viatra.solver.language.model.problem.impl.AssertionArgumentImpl
2966 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getAssertionArgument()
2967 * @generated
2968 */
2969 EClass ASSERTION_ARGUMENT = eINSTANCE.getAssertionArgument();
2970
2971 /**
2972 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl <em>Constant Assertion Argument</em>}' class.
2973 * <!-- begin-user-doc -->
2974 * <!-- end-user-doc -->
2975 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl
2976 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantAssertionArgument()
2977 * @generated
2978 */
2979 EClass CONSTANT_ASSERTION_ARGUMENT = eINSTANCE.getConstantAssertionArgument();
2980
2981 /**
2982 * The meta object literal for the '<em><b>Constant</b></em>' containment reference feature.
2983 * <!-- begin-user-doc -->
2984 * <!-- end-user-doc -->
2985 * @generated
2986 */
2987 EReference CONSTANT_ASSERTION_ARGUMENT__CONSTANT = eINSTANCE.getConstantAssertionArgument_Constant();
2988
2989 /**
2990 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl <em>Node Value Assertion</em>}' class.
2991 * <!-- begin-user-doc -->
2992 * <!-- end-user-doc -->
2993 * @see org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl
2994 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getNodeValueAssertion()
2995 * @generated
2996 */
2997 EClass NODE_VALUE_ASSERTION = eINSTANCE.getNodeValueAssertion();
2998
2999 /**
3000 * The meta object literal for the '<em><b>Node</b></em>' reference feature.
3001 * <!-- begin-user-doc -->
3002 * <!-- end-user-doc -->
3003 * @generated
3004 */
3005 EReference NODE_VALUE_ASSERTION__NODE = eINSTANCE.getNodeValueAssertion_Node();
3006
3007 /**
3008 * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
2386 * <!-- begin-user-doc --> 3009 * <!-- begin-user-doc -->
2387 * <!-- end-user-doc --> 3010 * <!-- end-user-doc -->
2388 * @generated 3011 * @generated
2389 */ 3012 */
2390 EReference ARGUMENT__SINGLETON_VARIABLE = eINSTANCE.getArgument_SingletonVariable(); 3013 EReference NODE_VALUE_ASSERTION__VALUE = eINSTANCE.getNodeValueAssertion_Value();
2391 3014
2392 /** 3015 /**
2393 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class. 3016 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.EnumDeclarationImpl <em>Enum Declaration</em>}' class.
@@ -2418,6 +3041,88 @@ public interface ProblemPackage extends EPackage {
2418 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode(); 3041 EClass VARIABLE_OR_NODE = eINSTANCE.getVariableOrNode();
2419 3042
2420 /** 3043 /**
3044 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl <em>Constant</em>}' class.
3045 * <!-- begin-user-doc -->
3046 * <!-- end-user-doc -->
3047 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantImpl
3048 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstant()
3049 * @generated
3050 */
3051 EClass CONSTANT = eINSTANCE.getConstant();
3052
3053 /**
3054 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl <em>Int Constant</em>}' class.
3055 * <!-- begin-user-doc -->
3056 * <!-- end-user-doc -->
3057 * @see org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl
3058 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getIntConstant()
3059 * @generated
3060 */
3061 EClass INT_CONSTANT = eINSTANCE.getIntConstant();
3062
3063 /**
3064 * The meta object literal for the '<em><b>Int Value</b></em>' attribute feature.
3065 * <!-- begin-user-doc -->
3066 * <!-- end-user-doc -->
3067 * @generated
3068 */
3069 EAttribute INT_CONSTANT__INT_VALUE = eINSTANCE.getIntConstant_IntValue();
3070
3071 /**
3072 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl <em>Real Constant</em>}' class.
3073 * <!-- begin-user-doc -->
3074 * <!-- end-user-doc -->
3075 * @see org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl
3076 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getRealConstant()
3077 * @generated
3078 */
3079 EClass REAL_CONSTANT = eINSTANCE.getRealConstant();
3080
3081 /**
3082 * The meta object literal for the '<em><b>Real Value</b></em>' attribute feature.
3083 * <!-- begin-user-doc -->
3084 * <!-- end-user-doc -->
3085 * @generated
3086 */
3087 EAttribute REAL_CONSTANT__REAL_VALUE = eINSTANCE.getRealConstant_RealValue();
3088
3089 /**
3090 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl <em>String Constant</em>}' class.
3091 * <!-- begin-user-doc -->
3092 * <!-- end-user-doc -->
3093 * @see org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl
3094 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getStringConstant()
3095 * @generated
3096 */
3097 EClass STRING_CONSTANT = eINSTANCE.getStringConstant();
3098
3099 /**
3100 * The meta object literal for the '<em><b>String Value</b></em>' attribute feature.
3101 * <!-- begin-user-doc -->
3102 * <!-- end-user-doc -->
3103 * @generated
3104 */
3105 EAttribute STRING_CONSTANT__STRING_VALUE = eINSTANCE.getStringConstant_StringValue();
3106
3107 /**
3108 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl <em>Constant Argument</em>}' class.
3109 * <!-- begin-user-doc -->
3110 * <!-- end-user-doc -->
3111 * @see org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl
3112 * @see org.eclipse.viatra.solver.language.model.problem.impl.ProblemPackageImpl#getConstantArgument()
3113 * @generated
3114 */
3115 EClass CONSTANT_ARGUMENT = eINSTANCE.getConstantArgument();
3116
3117 /**
3118 * The meta object literal for the '<em><b>Constant</b></em>' containment reference feature.
3119 * <!-- begin-user-doc -->
3120 * <!-- end-user-doc -->
3121 * @generated
3122 */
3123 EReference CONSTANT_ARGUMENT__CONSTANT = eINSTANCE.getConstantArgument_Constant();
3124
3125 /**
2421 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum. 3126 * The meta object literal for the '{@link org.eclipse.viatra.solver.language.model.problem.LogicValue <em>Logic Value</em>}' enum.
2422 * <!-- begin-user-doc --> 3127 * <!-- begin-user-doc -->
2423 * <!-- end-user-doc --> 3128 * <!-- end-user-doc -->
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java
new file mode 100644
index 00000000..7ece8fb9
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/RealConstant.java
@@ -0,0 +1,45 @@
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>Real Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRealConstant()
18 * @model
19 * @generated
20 */
21public interface RealConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>Real Value</b></em>' attribute.
24 * The default value is <code>"0.0"</code>.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Real Value</em>' attribute.
28 * @see #setRealValue(double)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getRealConstant_RealValue()
30 * @model default="0.0"
31 * @generated
32 */
33 double getRealValue();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant#getRealValue <em>Real Value</em>}' attribute.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Real Value</em>' attribute.
40 * @see #getRealValue()
41 * @generated
42 */
43 void setRealValue(double value);
44
45} // RealConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java
new file mode 100644
index 00000000..5a6c6ec8
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/StringConstant.java
@@ -0,0 +1,44 @@
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>String Constant</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}</li>
15 * </ul>
16 *
17 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStringConstant()
18 * @model
19 * @generated
20 */
21public interface StringConstant extends Constant {
22 /**
23 * Returns the value of the '<em><b>String Value</b></em>' attribute.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>String Value</em>' attribute.
27 * @see #setStringValue(String)
28 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getStringConstant_StringValue()
29 * @model
30 * @generated
31 */
32 String getStringValue();
33
34 /**
35 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant#getStringValue <em>String Value</em>}' attribute.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>String Value</em>' attribute.
39 * @see #getStringValue()
40 * @generated
41 */
42 void setStringValue(String value);
43
44} // StringConstant
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java
new file mode 100644
index 00000000..02032585
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/VariableOrNodeArgument.java
@@ -0,0 +1,67 @@
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>Variable Or Node Argument</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}</li>
15 * <li>{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}</li>
16 * </ul>
17 *
18 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument()
19 * @model
20 * @generated
21 */
22public interface VariableOrNodeArgument extends Argument {
23 /**
24 * Returns the value of the '<em><b>Variable Or Node</b></em>' reference.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @return the value of the '<em>Variable Or Node</em>' reference.
28 * @see #setVariableOrNode(VariableOrNode)
29 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument_VariableOrNode()
30 * @model
31 * @generated
32 */
33 VariableOrNode getVariableOrNode();
34
35 /**
36 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getVariableOrNode <em>Variable Or Node</em>}' reference.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @param value the new value of the '<em>Variable Or Node</em>' reference.
40 * @see #getVariableOrNode()
41 * @generated
42 */
43 void setVariableOrNode(VariableOrNode value);
44
45 /**
46 * Returns the value of the '<em><b>Singleton Variable</b></em>' containment reference.
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @return the value of the '<em>Singleton Variable</em>' containment reference.
50 * @see #setSingletonVariable(ImplicitVariable)
51 * @see org.eclipse.viatra.solver.language.model.problem.ProblemPackage#getVariableOrNodeArgument_SingletonVariable()
52 * @model containment="true"
53 * @generated
54 */
55 ImplicitVariable getSingletonVariable();
56
57 /**
58 * Sets the value of the '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument#getSingletonVariable <em>Singleton Variable</em>}' containment reference.
59 * <!-- begin-user-doc -->
60 * <!-- end-user-doc -->
61 * @param value the new value of the '<em>Singleton Variable</em>' containment reference.
62 * @see #getSingletonVariable()
63 * @generated
64 */
65 void setSingletonVariable(ImplicitVariable value);
66
67} // VariableOrNodeArgument
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
index f7d045ca..68b23c09 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ArgumentImpl.java
@@ -2,55 +2,20 @@
2 */ 2 */
3package org.eclipse.viatra.solver.language.model.problem.impl; 3package org.eclipse.viatra.solver.language.model.problem.impl;
4 4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass; 5import 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; 6import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13 7
14import org.eclipse.viatra.solver.language.model.problem.Argument; 8import 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; 9import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
17import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
18 10
19/** 11/**
20 * <!-- begin-user-doc --> 12 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Argument</b></em>'. 13 * An implementation of the model object '<em><b>Argument</b></em>'.
22 * <!-- end-user-doc --> 14 * <!-- 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#getVariableOrNode <em>Variable Or Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
29 * </ul>
30 * 15 *
31 * @generated 16 * @generated
32 */ 17 */
33public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument { 18public abstract class ArgumentImpl extends MinimalEObjectImpl.Container implements Argument {
34 /**
35 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getVariableOrNode()
39 * @generated
40 * @ordered
41 */
42 protected VariableOrNode variableOrNode;
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 /** 19 /**
55 * <!-- begin-user-doc --> 20 * <!-- begin-user-doc -->
56 * <!-- end-user-doc --> 21 * <!-- end-user-doc -->
@@ -70,178 +35,4 @@ public class ArgumentImpl extends MinimalEObjectImpl.Container implements Argume
70 return ProblemPackage.Literals.ARGUMENT; 35 return ProblemPackage.Literals.ARGUMENT;
71 } 36 }
72 37
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public VariableOrNode getVariableOrNode() {
79 if (variableOrNode != null && variableOrNode.eIsProxy()) {
80 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
81 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
82 if (variableOrNode != oldVariableOrNode) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
85 oldVariableOrNode, variableOrNode));
86 }
87 }
88 return variableOrNode;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public VariableOrNode basicGetVariableOrNode() {
97 return variableOrNode;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.ARGUMENT__VARIABLE_OR_NODE,
110 oldVariableOrNode, variableOrNode));
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_OR_NODE:
186 if (resolve)
187 return getVariableOrNode();
188 return basicGetVariableOrNode();
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_OR_NODE:
204 setVariableOrNode((VariableOrNode) 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_OR_NODE:
222 setVariableOrNode((VariableOrNode) 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_OR_NODE:
240 return variableOrNode != null;
241 case ProblemPackage.ARGUMENT__SINGLETON_VARIABLE:
242 return singletonVariable != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //ArgumentImpl 38} //ArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java
new file mode 100644
index 00000000..af41b241
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionArgumentImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Assertion Argument</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class AssertionArgumentImpl extends MinimalEObjectImpl.Container implements AssertionArgument {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected AssertionArgumentImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.ASSERTION_ARGUMENT;
37 }
38
39} //AssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
index 5856a276..2567d57b 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/AssertionImpl.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;
@@ -14,11 +15,11 @@ import org.eclipse.emf.ecore.InternalEObject;
14import org.eclipse.emf.ecore.impl.ENotificationImpl; 15import org.eclipse.emf.ecore.impl.ENotificationImpl;
15import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; 16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
16 17
17import org.eclipse.emf.ecore.util.EObjectResolvingEList; 18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
18 19import org.eclipse.emf.ecore.util.InternalEList;
19import org.eclipse.viatra.solver.language.model.problem.Assertion; 20import org.eclipse.viatra.solver.language.model.problem.Assertion;
21import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
20import org.eclipse.viatra.solver.language.model.problem.LogicValue; 22import org.eclipse.viatra.solver.language.model.problem.LogicValue;
21import 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.Relation; 24import org.eclipse.viatra.solver.language.model.problem.Relation;
24 25
@@ -31,8 +32,8 @@ import org.eclipse.viatra.solver.language.model.problem.Relation;
31 * </p> 32 * </p>
32 * <ul> 33 * <ul>
33 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getRelation <em>Relation</em>}</li> 34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getRelation <em>Relation</em>}</li>
34 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getArguments <em>Arguments</em>}</li>
35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li> 35 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getValue <em>Value</em>}</li>
36 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.AssertionImpl#getArguments <em>Arguments</em>}</li>
36 * </ul> 37 * </ul>
37 * 38 *
38 * @generated 39 * @generated
@@ -49,34 +50,34 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
49 protected Relation relation; 50 protected Relation relation;
50 51
51 /** 52 /**
52 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' reference list. 53 * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
53 * <!-- begin-user-doc --> 54 * <!-- begin-user-doc -->
54 * <!-- end-user-doc --> 55 * <!-- end-user-doc -->
55 * @see #getArguments() 56 * @see #getValue()
56 * @generated 57 * @generated
57 * @ordered 58 * @ordered
58 */ 59 */
59 protected EList<Node> arguments; 60 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE;
60 61
61 /** 62 /**
62 * The default value of the '{@link #getValue() <em>Value</em>}' attribute. 63 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
63 * <!-- begin-user-doc --> 64 * <!-- begin-user-doc -->
64 * <!-- end-user-doc --> 65 * <!-- end-user-doc -->
65 * @see #getValue() 66 * @see #getValue()
66 * @generated 67 * @generated
67 * @ordered 68 * @ordered
68 */ 69 */
69 protected static final LogicValue VALUE_EDEFAULT = LogicValue.TRUE; 70 protected LogicValue value = VALUE_EDEFAULT;
70 71
71 /** 72 /**
72 * The cached value of the '{@link #getValue() <em>Value</em>}' attribute. 73 * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
73 * <!-- begin-user-doc --> 74 * <!-- begin-user-doc -->
74 * <!-- end-user-doc --> 75 * <!-- end-user-doc -->
75 * @see #getValue() 76 * @see #getArguments()
76 * @generated 77 * @generated
77 * @ordered 78 * @ordered
78 */ 79 */
79 protected LogicValue value = VALUE_EDEFAULT; 80 protected EList<AssertionArgument> arguments;
80 81
81 /** 82 /**
82 * <!-- begin-user-doc --> 83 * <!-- begin-user-doc -->
@@ -142,9 +143,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
142 * <!-- end-user-doc --> 143 * <!-- end-user-doc -->
143 * @generated 144 * @generated
144 */ 145 */
145 public EList<Node> getArguments() { 146 public EList<AssertionArgument> getArguments() {
146 if (arguments == null) { 147 if (arguments == null) {
147 arguments = new EObjectResolvingEList<Node>(Node.class, this, ProblemPackage.ASSERTION__ARGUMENTS); 148 arguments = new EObjectContainmentEList<AssertionArgument>(AssertionArgument.class, this,
149 ProblemPackage.ASSERTION__ARGUMENTS);
148 } 150 }
149 return arguments; 151 return arguments;
150 } 152 }
@@ -154,6 +156,20 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
154 * <!-- end-user-doc --> 156 * <!-- end-user-doc -->
155 * @generated 157 * @generated
156 */ 158 */
159 @Override
160 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
161 switch (featureID) {
162 case ProblemPackage.ASSERTION__ARGUMENTS:
163 return ((InternalEList<?>) getArguments()).basicRemove(otherEnd, msgs);
164 }
165 return super.eInverseRemove(otherEnd, featureID, msgs);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
157 public LogicValue getValue() { 173 public LogicValue getValue() {
158 return value; 174 return value;
159 } 175 }
@@ -182,10 +198,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
182 if (resolve) 198 if (resolve)
183 return getRelation(); 199 return getRelation();
184 return basicGetRelation(); 200 return basicGetRelation();
185 case ProblemPackage.ASSERTION__ARGUMENTS:
186 return getArguments();
187 case ProblemPackage.ASSERTION__VALUE: 201 case ProblemPackage.ASSERTION__VALUE:
188 return getValue(); 202 return getValue();
203 case ProblemPackage.ASSERTION__ARGUMENTS:
204 return getArguments();
189 } 205 }
190 return super.eGet(featureID, resolve, coreType); 206 return super.eGet(featureID, resolve, coreType);
191 } 207 }
@@ -202,13 +218,13 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
202 case ProblemPackage.ASSERTION__RELATION: 218 case ProblemPackage.ASSERTION__RELATION:
203 setRelation((Relation) newValue); 219 setRelation((Relation) newValue);
204 return; 220 return;
205 case ProblemPackage.ASSERTION__ARGUMENTS:
206 getArguments().clear();
207 getArguments().addAll((Collection<? extends Node>) newValue);
208 return;
209 case ProblemPackage.ASSERTION__VALUE: 221 case ProblemPackage.ASSERTION__VALUE:
210 setValue((LogicValue) newValue); 222 setValue((LogicValue) newValue);
211 return; 223 return;
224 case ProblemPackage.ASSERTION__ARGUMENTS:
225 getArguments().clear();
226 getArguments().addAll((Collection<? extends AssertionArgument>) newValue);
227 return;
212 } 228 }
213 super.eSet(featureID, newValue); 229 super.eSet(featureID, newValue);
214 } 230 }
@@ -224,12 +240,12 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
224 case ProblemPackage.ASSERTION__RELATION: 240 case ProblemPackage.ASSERTION__RELATION:
225 setRelation((Relation) null); 241 setRelation((Relation) null);
226 return; 242 return;
227 case ProblemPackage.ASSERTION__ARGUMENTS:
228 getArguments().clear();
229 return;
230 case ProblemPackage.ASSERTION__VALUE: 243 case ProblemPackage.ASSERTION__VALUE:
231 setValue(VALUE_EDEFAULT); 244 setValue(VALUE_EDEFAULT);
232 return; 245 return;
246 case ProblemPackage.ASSERTION__ARGUMENTS:
247 getArguments().clear();
248 return;
233 } 249 }
234 super.eUnset(featureID); 250 super.eUnset(featureID);
235 } 251 }
@@ -244,10 +260,10 @@ public class AssertionImpl extends MinimalEObjectImpl.Container implements Asser
244 switch (featureID) { 260 switch (featureID) {
245 case ProblemPackage.ASSERTION__RELATION: 261 case ProblemPackage.ASSERTION__RELATION:
246 return relation != null; 262 return relation != null;
247 case ProblemPackage.ASSERTION__ARGUMENTS:
248 return arguments != null && !arguments.isEmpty();
249 case ProblemPackage.ASSERTION__VALUE: 263 case ProblemPackage.ASSERTION__VALUE:
250 return value != VALUE_EDEFAULT; 264 return value != VALUE_EDEFAULT;
265 case ProblemPackage.ASSERTION__ARGUMENTS:
266 return arguments != null && !arguments.isEmpty();
251 } 267 }
252 return super.eIsSet(featureID); 268 return super.eIsSet(featureID);
253 } 269 }
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java
new file mode 100644
index 00000000..10798200
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantArgumentImpl.java
@@ -0,0 +1,182 @@
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;
12
13import org.eclipse.viatra.solver.language.model.problem.Constant;
14import org.eclipse.viatra.solver.language.model.problem.ConstantArgument;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Constant Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantArgumentImpl#getConstant <em>Constant</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ConstantArgumentImpl extends ArgumentImpl implements ConstantArgument {
31 /**
32 * The cached value of the '{@link #getConstant() <em>Constant</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getConstant()
36 * @generated
37 * @ordered
38 */
39 protected Constant constant;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ConstantArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return ProblemPackage.Literals.CONSTANT_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Constant getConstant() {
66 return constant;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetConstant(Constant newConstant, NotificationChain msgs) {
75 Constant oldConstant = constant;
76 constant = newConstant;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, oldConstant, newConstant);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setConstant(Constant newConstant) {
94 if (newConstant != constant) {
95 NotificationChain msgs = null;
96 if (constant != null)
97 msgs = ((InternalEObject) constant).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, null, msgs);
99 if (newConstant != null)
100 msgs = ((InternalEObject) newConstant).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ARGUMENT__CONSTANT, null, msgs);
102 msgs = basicSetConstant(newConstant, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CONSTANT_ARGUMENT__CONSTANT,
107 newConstant, newConstant));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
119 return basicSetConstant(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
133 return getConstant();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
147 setConstant((Constant) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
162 setConstant((Constant) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case ProblemPackage.CONSTANT_ARGUMENT__CONSTANT:
177 return constant != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ConstantArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java
new file mode 100644
index 00000000..6b5b3ed2
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantAssertionArgumentImpl.java
@@ -0,0 +1,182 @@
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;
12
13import org.eclipse.viatra.solver.language.model.problem.Constant;
14import org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument;
15import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Constant Assertion Argument</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.ConstantAssertionArgumentImpl#getConstant <em>Constant</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public class ConstantAssertionArgumentImpl extends AssertionArgumentImpl implements ConstantAssertionArgument {
31 /**
32 * The cached value of the '{@link #getConstant() <em>Constant</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getConstant()
36 * @generated
37 * @ordered
38 */
39 protected Constant constant;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected ConstantAssertionArgumentImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return ProblemPackage.Literals.CONSTANT_ASSERTION_ARGUMENT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 public Constant getConstant() {
66 return constant;
67 }
68
69 /**
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 */
74 public NotificationChain basicSetConstant(Constant newConstant, NotificationChain msgs) {
75 Constant oldConstant = constant;
76 constant = newConstant;
77 if (eNotificationRequired()) {
78 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
79 ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, oldConstant, newConstant);
80 if (msgs == null)
81 msgs = notification;
82 else
83 msgs.add(notification);
84 }
85 return msgs;
86 }
87
88 /**
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 */
93 public void setConstant(Constant newConstant) {
94 if (newConstant != constant) {
95 NotificationChain msgs = null;
96 if (constant != null)
97 msgs = ((InternalEObject) constant).eInverseRemove(this,
98 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, null, msgs);
99 if (newConstant != null)
100 msgs = ((InternalEObject) newConstant).eInverseAdd(this,
101 EOPPOSITE_FEATURE_BASE - ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT, null, msgs);
102 msgs = basicSetConstant(newConstant, msgs);
103 if (msgs != null)
104 msgs.dispatch();
105 } else if (eNotificationRequired())
106 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT,
107 newConstant, newConstant));
108 }
109
110 /**
111 * <!-- begin-user-doc -->
112 * <!-- end-user-doc -->
113 * @generated
114 */
115 @Override
116 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
117 switch (featureID) {
118 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
119 return basicSetConstant(null, msgs);
120 }
121 return super.eInverseRemove(otherEnd, featureID, msgs);
122 }
123
124 /**
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 */
129 @Override
130 public Object eGet(int featureID, boolean resolve, boolean coreType) {
131 switch (featureID) {
132 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
133 return getConstant();
134 }
135 return super.eGet(featureID, resolve, coreType);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public void eSet(int featureID, Object newValue) {
145 switch (featureID) {
146 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
147 setConstant((Constant) newValue);
148 return;
149 }
150 super.eSet(featureID, newValue);
151 }
152
153 /**
154 * <!-- begin-user-doc -->
155 * <!-- end-user-doc -->
156 * @generated
157 */
158 @Override
159 public void eUnset(int featureID) {
160 switch (featureID) {
161 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
162 setConstant((Constant) null);
163 return;
164 }
165 super.eUnset(featureID);
166 }
167
168 /**
169 * <!-- begin-user-doc -->
170 * <!-- end-user-doc -->
171 * @generated
172 */
173 @Override
174 public boolean eIsSet(int featureID) {
175 switch (featureID) {
176 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT__CONSTANT:
177 return constant != null;
178 }
179 return super.eIsSet(featureID);
180 }
181
182} //ConstantAssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java
new file mode 100644
index 00000000..14be4fb4
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ConstantImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import org.eclipse.viatra.solver.language.model.problem.Constant;
10import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Constant</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class ConstantImpl extends MinimalEObjectImpl.Container implements Constant {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected ConstantImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return ProblemPackage.Literals.CONSTANT;
37 }
38
39} //ConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java
new file mode 100644
index 00000000..1a0da417
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/IntConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.IntConstant;
12import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Int Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.IntConstantImpl#getIntValue <em>Int Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class IntConstantImpl extends ConstantImpl implements IntConstant {
28 /**
29 * The default value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getIntValue()
33 * @generated
34 * @ordered
35 */
36 protected static final int INT_VALUE_EDEFAULT = 0;
37
38 /**
39 * The cached value of the '{@link #getIntValue() <em>Int Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getIntValue()
43 * @generated
44 * @ordered
45 */
46 protected int intValue = INT_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected IntConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.INT_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public int getIntValue() {
73 return intValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setIntValue(int newIntValue) {
82 int oldIntValue = intValue;
83 intValue = newIntValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.INT_CONSTANT__INT_VALUE, oldIntValue,
86 intValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.INT_CONSTANT__INT_VALUE:
98 return getIntValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.INT_CONSTANT__INT_VALUE:
112 setIntValue((Integer) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.INT_CONSTANT__INT_VALUE:
127 setIntValue(INT_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.INT_CONSTANT__INT_VALUE:
142 return intValue != INT_VALUE_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (intValue: ");
159 result.append(intValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //IntConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java
new file mode 100644
index 00000000..27a702fd
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeAssertionArgumentImpl.java
@@ -0,0 +1,159 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8import org.eclipse.emf.ecore.InternalEObject;
9
10import org.eclipse.emf.ecore.impl.ENotificationImpl;
11
12import org.eclipse.viatra.solver.language.model.problem.Node;
13import org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15
16/**
17 * <!-- begin-user-doc -->
18 * An implementation of the model object '<em><b>Node Assertion Argument</b></em>'.
19 * <!-- end-user-doc -->
20 * <p>
21 * The following features are implemented:
22 * </p>
23 * <ul>
24 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeAssertionArgumentImpl#getNode <em>Node</em>}</li>
25 * </ul>
26 *
27 * @generated
28 */
29public class NodeAssertionArgumentImpl extends AssertionArgumentImpl implements NodeAssertionArgument {
30 /**
31 * The cached value of the '{@link #getNode() <em>Node</em>}' reference.
32 * <!-- begin-user-doc -->
33 * <!-- end-user-doc -->
34 * @see #getNode()
35 * @generated
36 * @ordered
37 */
38 protected Node node;
39
40 /**
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @generated
44 */
45 protected NodeAssertionArgumentImpl() {
46 super();
47 }
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 @Override
55 protected EClass eStaticClass() {
56 return ProblemPackage.Literals.NODE_ASSERTION_ARGUMENT;
57 }
58
59 /**
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @generated
63 */
64 public Node getNode() {
65 if (node != null && node.eIsProxy()) {
66 InternalEObject oldNode = (InternalEObject) node;
67 node = (Node) eResolveProxy(oldNode);
68 if (node != oldNode) {
69 if (eNotificationRequired())
70 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
71 ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE, oldNode, node));
72 }
73 }
74 return node;
75 }
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 public Node basicGetNode() {
83 return node;
84 }
85
86 /**
87 * <!-- begin-user-doc -->
88 * <!-- end-user-doc -->
89 * @generated
90 */
91 public void setNode(Node newNode) {
92 Node oldNode = node;
93 node = newNode;
94 if (eNotificationRequired())
95 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE, oldNode,
96 node));
97 }
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 @Override
105 public Object eGet(int featureID, boolean resolve, boolean coreType) {
106 switch (featureID) {
107 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
108 if (resolve)
109 return getNode();
110 return basicGetNode();
111 }
112 return super.eGet(featureID, resolve, coreType);
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
124 setNode((Node) newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID) {
137 switch (featureID) {
138 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
139 setNode((Node) null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case ProblemPackage.NODE_ASSERTION_ARGUMENT__NODE:
154 return node != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //NodeAssertionArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.java
new file mode 100644
index 00000000..0078b35e
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/NodeValueAssertionImpl.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.Constant;
15import org.eclipse.viatra.solver.language.model.problem.Node;
16import org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion;
17import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
18
19/**
20 * <!-- begin-user-doc -->
21 * An implementation of the model object '<em><b>Node Value Assertion</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.NodeValueAssertionImpl#getNode <em>Node</em>}</li>
28 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.NodeValueAssertionImpl#getValue <em>Value</em>}</li>
29 * </ul>
30 *
31 * @generated
32 */
33public class NodeValueAssertionImpl extends MinimalEObjectImpl.Container implements NodeValueAssertion {
34 /**
35 * The cached value of the '{@link #getNode() <em>Node</em>}' reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @see #getNode()
39 * @generated
40 * @ordered
41 */
42 protected Node node;
43
44 /**
45 * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @see #getValue()
49 * @generated
50 * @ordered
51 */
52 protected Constant value;
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 protected NodeValueAssertionImpl() {
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.NODE_VALUE_ASSERTION;
71 }
72
73 /**
74 * <!-- begin-user-doc -->
75 * <!-- end-user-doc -->
76 * @generated
77 */
78 public Node getNode() {
79 if (node != null && node.eIsProxy()) {
80 InternalEObject oldNode = (InternalEObject) node;
81 node = (Node) eResolveProxy(oldNode);
82 if (node != oldNode) {
83 if (eNotificationRequired())
84 eNotify(new ENotificationImpl(this, Notification.RESOLVE, ProblemPackage.NODE_VALUE_ASSERTION__NODE,
85 oldNode, node));
86 }
87 }
88 return node;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public Node basicGetNode() {
97 return node;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setNode(Node newNode) {
106 Node oldNode = node;
107 node = newNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_VALUE_ASSERTION__NODE, oldNode,
110 node));
111 }
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 public Constant getValue() {
119 return value;
120 }
121
122 /**
123 * <!-- begin-user-doc -->
124 * <!-- end-user-doc -->
125 * @generated
126 */
127 public NotificationChain basicSetValue(Constant newValue, NotificationChain msgs) {
128 Constant oldValue = value;
129 value = newValue;
130 if (eNotificationRequired()) {
131 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
132 ProblemPackage.NODE_VALUE_ASSERTION__VALUE, oldValue, newValue);
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 setValue(Constant newValue) {
147 if (newValue != value) {
148 NotificationChain msgs = null;
149 if (value != null)
150 msgs = ((InternalEObject) value).eInverseRemove(this,
151 EOPPOSITE_FEATURE_BASE - ProblemPackage.NODE_VALUE_ASSERTION__VALUE, null, msgs);
152 if (newValue != null)
153 msgs = ((InternalEObject) newValue).eInverseAdd(this,
154 EOPPOSITE_FEATURE_BASE - ProblemPackage.NODE_VALUE_ASSERTION__VALUE, null, msgs);
155 msgs = basicSetValue(newValue, msgs);
156 if (msgs != null)
157 msgs.dispatch();
158 } else if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.NODE_VALUE_ASSERTION__VALUE, newValue,
160 newValue));
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.NODE_VALUE_ASSERTION__VALUE:
172 return basicSetValue(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.NODE_VALUE_ASSERTION__NODE:
186 if (resolve)
187 return getNode();
188 return basicGetNode();
189 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
190 return getValue();
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.NODE_VALUE_ASSERTION__NODE:
204 setNode((Node) newValue);
205 return;
206 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
207 setValue((Constant) 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.NODE_VALUE_ASSERTION__NODE:
222 setNode((Node) null);
223 return;
224 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
225 setValue((Constant) 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.NODE_VALUE_ASSERTION__NODE:
240 return node != null;
241 case ProblemPackage.NODE_VALUE_ASSERTION__VALUE:
242 return value != null;
243 }
244 return super.eIsSet(featureID);
245 }
246
247} //NodeValueAssertionImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
index 2f4144b9..27da13e2 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemFactoryImpl.java
@@ -89,10 +89,24 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
89 return createExactMultiplicity(); 89 return createExactMultiplicity();
90 case ProblemPackage.UNBOUNDED_MULTIPLICITY: 90 case ProblemPackage.UNBOUNDED_MULTIPLICITY:
91 return createUnboundedMultiplicity(); 91 return createUnboundedMultiplicity();
92 case ProblemPackage.ARGUMENT: 92 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT:
93 return createArgument(); 93 return createVariableOrNodeArgument();
94 case ProblemPackage.ENUM_DECLARATION: 94 case ProblemPackage.ENUM_DECLARATION:
95 return createEnumDeclaration(); 95 return createEnumDeclaration();
96 case ProblemPackage.INT_CONSTANT:
97 return createIntConstant();
98 case ProblemPackage.REAL_CONSTANT:
99 return createRealConstant();
100 case ProblemPackage.STRING_CONSTANT:
101 return createStringConstant();
102 case ProblemPackage.CONSTANT_ARGUMENT:
103 return createConstantArgument();
104 case ProblemPackage.NODE_ASSERTION_ARGUMENT:
105 return createNodeAssertionArgument();
106 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT:
107 return createConstantAssertionArgument();
108 case ProblemPackage.NODE_VALUE_ASSERTION:
109 return createNodeValueAssertion();
96 default: 110 default:
97 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); 111 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
98 } 112 }
@@ -293,9 +307,9 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
293 * <!-- end-user-doc --> 307 * <!-- end-user-doc -->
294 * @generated 308 * @generated
295 */ 309 */
296 public Argument createArgument() { 310 public VariableOrNodeArgument createVariableOrNodeArgument() {
297 ArgumentImpl argument = new ArgumentImpl(); 311 VariableOrNodeArgumentImpl variableOrNodeArgument = new VariableOrNodeArgumentImpl();
298 return argument; 312 return variableOrNodeArgument;
299 } 313 }
300 314
301 /** 315 /**
@@ -313,6 +327,76 @@ public class ProblemFactoryImpl extends EFactoryImpl implements ProblemFactory {
313 * <!-- end-user-doc --> 327 * <!-- end-user-doc -->
314 * @generated 328 * @generated
315 */ 329 */
330 public IntConstant createIntConstant() {
331 IntConstantImpl intConstant = new IntConstantImpl();
332 return intConstant;
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 public RealConstant createRealConstant() {
341 RealConstantImpl realConstant = new RealConstantImpl();
342 return realConstant;
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 public StringConstant createStringConstant() {
351 StringConstantImpl stringConstant = new StringConstantImpl();
352 return stringConstant;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 public ConstantArgument createConstantArgument() {
361 ConstantArgumentImpl constantArgument = new ConstantArgumentImpl();
362 return constantArgument;
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 public NodeAssertionArgument createNodeAssertionArgument() {
371 NodeAssertionArgumentImpl nodeAssertionArgument = new NodeAssertionArgumentImpl();
372 return nodeAssertionArgument;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 public ConstantAssertionArgument createConstantAssertionArgument() {
381 ConstantAssertionArgumentImpl constantAssertionArgument = new ConstantAssertionArgumentImpl();
382 return constantAssertionArgument;
383 }
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 public NodeValueAssertion createNodeValueAssertion() {
391 NodeValueAssertionImpl nodeValueAssertion = new NodeValueAssertionImpl();
392 return nodeValueAssertion;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
316 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) { 400 public LogicValue createLogicValueFromString(EDataType eDataType, String initialValue) {
317 LogicValue result = LogicValue.get(initialValue); 401 LogicValue result = LogicValue.get(initialValue);
318 if (result == null) 402 if (result == null)
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
index d10ff2f0..ee72c538 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/ProblemPackageImpl.java
@@ -12,33 +12,43 @@ import 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.Argument;
14import org.eclipse.viatra.solver.language.model.problem.Assertion; 14import org.eclipse.viatra.solver.language.model.problem.Assertion;
15import org.eclipse.viatra.solver.language.model.problem.AssertionArgument;
15import org.eclipse.viatra.solver.language.model.problem.Atom; 16import org.eclipse.viatra.solver.language.model.problem.Atom;
16import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration; 17import org.eclipse.viatra.solver.language.model.problem.ClassDeclaration;
17import org.eclipse.viatra.solver.language.model.problem.Conjunction; 18import org.eclipse.viatra.solver.language.model.problem.Conjunction;
19import org.eclipse.viatra.solver.language.model.problem.Constant;
20import org.eclipse.viatra.solver.language.model.problem.ConstantArgument;
21import org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument;
18import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration; 22import org.eclipse.viatra.solver.language.model.problem.EnumDeclaration;
19import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity; 23import org.eclipse.viatra.solver.language.model.problem.ExactMultiplicity;
20import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier; 24import org.eclipse.viatra.solver.language.model.problem.ExistentialQuantifier;
21import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable; 25import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
26import org.eclipse.viatra.solver.language.model.problem.IntConstant;
22import org.eclipse.viatra.solver.language.model.problem.Literal; 27import org.eclipse.viatra.solver.language.model.problem.Literal;
23import org.eclipse.viatra.solver.language.model.problem.LogicValue; 28import org.eclipse.viatra.solver.language.model.problem.LogicValue;
24import org.eclipse.viatra.solver.language.model.problem.Multiplicity; 29import org.eclipse.viatra.solver.language.model.problem.Multiplicity;
25import org.eclipse.viatra.solver.language.model.problem.NamedElement; 30import org.eclipse.viatra.solver.language.model.problem.NamedElement;
26import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral; 31import org.eclipse.viatra.solver.language.model.problem.NegativeLiteral;
27import org.eclipse.viatra.solver.language.model.problem.Node; 32import org.eclipse.viatra.solver.language.model.problem.Node;
33import org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument;
34import org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion;
28import org.eclipse.viatra.solver.language.model.problem.Parameter; 35import org.eclipse.viatra.solver.language.model.problem.Parameter;
29import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition; 36import org.eclipse.viatra.solver.language.model.problem.PredicateDefinition;
30import org.eclipse.viatra.solver.language.model.problem.Problem; 37import org.eclipse.viatra.solver.language.model.problem.Problem;
31import org.eclipse.viatra.solver.language.model.problem.ProblemFactory; 38import org.eclipse.viatra.solver.language.model.problem.ProblemFactory;
32import org.eclipse.viatra.solver.language.model.problem.ProblemPackage; 39import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
33import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity; 40import org.eclipse.viatra.solver.language.model.problem.RangeMultiplicity;
41import org.eclipse.viatra.solver.language.model.problem.RealConstant;
34import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration; 42import org.eclipse.viatra.solver.language.model.problem.ReferenceDeclaration;
35import org.eclipse.viatra.solver.language.model.problem.Relation; 43import org.eclipse.viatra.solver.language.model.problem.Relation;
36import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration; 44import org.eclipse.viatra.solver.language.model.problem.ScopeDeclaration;
37import org.eclipse.viatra.solver.language.model.problem.Statement; 45import org.eclipse.viatra.solver.language.model.problem.Statement;
46import org.eclipse.viatra.solver.language.model.problem.StringConstant;
38import org.eclipse.viatra.solver.language.model.problem.TypeScope; 47import org.eclipse.viatra.solver.language.model.problem.TypeScope;
39import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity; 48import org.eclipse.viatra.solver.language.model.problem.UnboundedMultiplicity;
40import org.eclipse.viatra.solver.language.model.problem.Variable; 49import org.eclipse.viatra.solver.language.model.problem.Variable;
41import org.eclipse.viatra.solver.language.model.problem.VariableOrNode; 50import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
51import org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument;
42 52
43/** 53/**
44 * <!-- begin-user-doc --> 54 * <!-- begin-user-doc -->
@@ -213,6 +223,13 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
213 * <!-- end-user-doc --> 223 * <!-- end-user-doc -->
214 * @generated 224 * @generated
215 */ 225 */
226 private EClass variableOrNodeArgumentEClass = null;
227
228 /**
229 * <!-- begin-user-doc -->
230 * <!-- end-user-doc -->
231 * @generated
232 */
216 private EClass argumentEClass = null; 233 private EClass argumentEClass = null;
217 234
218 /** 235 /**
@@ -220,6 +237,34 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
220 * <!-- end-user-doc --> 237 * <!-- end-user-doc -->
221 * @generated 238 * @generated
222 */ 239 */
240 private EClass nodeAssertionArgumentEClass = null;
241
242 /**
243 * <!-- begin-user-doc -->
244 * <!-- end-user-doc -->
245 * @generated
246 */
247 private EClass assertionArgumentEClass = null;
248
249 /**
250 * <!-- begin-user-doc -->
251 * <!-- end-user-doc -->
252 * @generated
253 */
254 private EClass constantAssertionArgumentEClass = null;
255
256 /**
257 * <!-- begin-user-doc -->
258 * <!-- end-user-doc -->
259 * @generated
260 */
261 private EClass nodeValueAssertionEClass = null;
262
263 /**
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 */
223 private EClass enumDeclarationEClass = null; 268 private EClass enumDeclarationEClass = null;
224 269
225 /** 270 /**
@@ -234,6 +279,41 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
234 * <!-- end-user-doc --> 279 * <!-- end-user-doc -->
235 * @generated 280 * @generated
236 */ 281 */
282 private EClass constantEClass = null;
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 private EClass intConstantEClass = null;
290
291 /**
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 */
296 private EClass realConstantEClass = null;
297
298 /**
299 * <!-- begin-user-doc -->
300 * <!-- end-user-doc -->
301 * @generated
302 */
303 private EClass stringConstantEClass = null;
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 private EClass constantArgumentEClass = null;
311
312 /**
313 * <!-- begin-user-doc -->
314 * <!-- end-user-doc -->
315 * @generated
316 */
237 private EEnum logicValueEEnum = null; 317 private EEnum logicValueEEnum = null;
238 318
239 /** 319 /**
@@ -639,7 +719,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
639 * @generated 719 * @generated
640 */ 720 */
641 public EReference getAssertion_Arguments() { 721 public EReference getAssertion_Arguments() {
642 return (EReference) assertionEClass.getEStructuralFeatures().get(1); 722 return (EReference) assertionEClass.getEStructuralFeatures().get(2);
643 } 723 }
644 724
645 /** 725 /**
@@ -648,7 +728,7 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
648 * @generated 728 * @generated
649 */ 729 */
650 public EAttribute getAssertion_Value() { 730 public EAttribute getAssertion_Value() {
651 return (EAttribute) assertionEClass.getEStructuralFeatures().get(2); 731 return (EAttribute) assertionEClass.getEStructuralFeatures().get(1);
652 } 732 }
653 733
654 /** 734 /**
@@ -791,6 +871,33 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
791 * <!-- end-user-doc --> 871 * <!-- end-user-doc -->
792 * @generated 872 * @generated
793 */ 873 */
874 public EClass getVariableOrNodeArgument() {
875 return variableOrNodeArgumentEClass;
876 }
877
878 /**
879 * <!-- begin-user-doc -->
880 * <!-- end-user-doc -->
881 * @generated
882 */
883 public EReference getVariableOrNodeArgument_VariableOrNode() {
884 return (EReference) variableOrNodeArgumentEClass.getEStructuralFeatures().get(0);
885 }
886
887 /**
888 * <!-- begin-user-doc -->
889 * <!-- end-user-doc -->
890 * @generated
891 */
892 public EReference getVariableOrNodeArgument_SingletonVariable() {
893 return (EReference) variableOrNodeArgumentEClass.getEStructuralFeatures().get(1);
894 }
895
896 /**
897 * <!-- begin-user-doc -->
898 * <!-- end-user-doc -->
899 * @generated
900 */
794 public EClass getArgument() { 901 public EClass getArgument() {
795 return argumentEClass; 902 return argumentEClass;
796 } 903 }
@@ -800,8 +907,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
800 * <!-- end-user-doc --> 907 * <!-- end-user-doc -->
801 * @generated 908 * @generated
802 */ 909 */
803 public EReference getArgument_VariableOrNode() { 910 public EClass getNodeAssertionArgument() {
804 return (EReference) argumentEClass.getEStructuralFeatures().get(0); 911 return nodeAssertionArgumentEClass;
805 } 912 }
806 913
807 /** 914 /**
@@ -809,8 +916,62 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
809 * <!-- end-user-doc --> 916 * <!-- end-user-doc -->
810 * @generated 917 * @generated
811 */ 918 */
812 public EReference getArgument_SingletonVariable() { 919 public EReference getNodeAssertionArgument_Node() {
813 return (EReference) argumentEClass.getEStructuralFeatures().get(1); 920 return (EReference) nodeAssertionArgumentEClass.getEStructuralFeatures().get(0);
921 }
922
923 /**
924 * <!-- begin-user-doc -->
925 * <!-- end-user-doc -->
926 * @generated
927 */
928 public EClass getAssertionArgument() {
929 return assertionArgumentEClass;
930 }
931
932 /**
933 * <!-- begin-user-doc -->
934 * <!-- end-user-doc -->
935 * @generated
936 */
937 public EClass getConstantAssertionArgument() {
938 return constantAssertionArgumentEClass;
939 }
940
941 /**
942 * <!-- begin-user-doc -->
943 * <!-- end-user-doc -->
944 * @generated
945 */
946 public EReference getConstantAssertionArgument_Constant() {
947 return (EReference) constantAssertionArgumentEClass.getEStructuralFeatures().get(0);
948 }
949
950 /**
951 * <!-- begin-user-doc -->
952 * <!-- end-user-doc -->
953 * @generated
954 */
955 public EClass getNodeValueAssertion() {
956 return nodeValueAssertionEClass;
957 }
958
959 /**
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @generated
963 */
964 public EReference getNodeValueAssertion_Node() {
965 return (EReference) nodeValueAssertionEClass.getEStructuralFeatures().get(0);
966 }
967
968 /**
969 * <!-- begin-user-doc -->
970 * <!-- end-user-doc -->
971 * @generated
972 */
973 public EReference getNodeValueAssertion_Value() {
974 return (EReference) nodeValueAssertionEClass.getEStructuralFeatures().get(1);
814 } 975 }
815 976
816 /** 977 /**
@@ -845,6 +1006,87 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
845 * <!-- end-user-doc --> 1006 * <!-- end-user-doc -->
846 * @generated 1007 * @generated
847 */ 1008 */
1009 public EClass getConstant() {
1010 return constantEClass;
1011 }
1012
1013 /**
1014 * <!-- begin-user-doc -->
1015 * <!-- end-user-doc -->
1016 * @generated
1017 */
1018 public EClass getIntConstant() {
1019 return intConstantEClass;
1020 }
1021
1022 /**
1023 * <!-- begin-user-doc -->
1024 * <!-- end-user-doc -->
1025 * @generated
1026 */
1027 public EAttribute getIntConstant_IntValue() {
1028 return (EAttribute) intConstantEClass.getEStructuralFeatures().get(0);
1029 }
1030
1031 /**
1032 * <!-- begin-user-doc -->
1033 * <!-- end-user-doc -->
1034 * @generated
1035 */
1036 public EClass getRealConstant() {
1037 return realConstantEClass;
1038 }
1039
1040 /**
1041 * <!-- begin-user-doc -->
1042 * <!-- end-user-doc -->
1043 * @generated
1044 */
1045 public EAttribute getRealConstant_RealValue() {
1046 return (EAttribute) realConstantEClass.getEStructuralFeatures().get(0);
1047 }
1048
1049 /**
1050 * <!-- begin-user-doc -->
1051 * <!-- end-user-doc -->
1052 * @generated
1053 */
1054 public EClass getStringConstant() {
1055 return stringConstantEClass;
1056 }
1057
1058 /**
1059 * <!-- begin-user-doc -->
1060 * <!-- end-user-doc -->
1061 * @generated
1062 */
1063 public EAttribute getStringConstant_StringValue() {
1064 return (EAttribute) stringConstantEClass.getEStructuralFeatures().get(0);
1065 }
1066
1067 /**
1068 * <!-- begin-user-doc -->
1069 * <!-- end-user-doc -->
1070 * @generated
1071 */
1072 public EClass getConstantArgument() {
1073 return constantArgumentEClass;
1074 }
1075
1076 /**
1077 * <!-- begin-user-doc -->
1078 * <!-- end-user-doc -->
1079 * @generated
1080 */
1081 public EReference getConstantArgument_Constant() {
1082 return (EReference) constantArgumentEClass.getEStructuralFeatures().get(0);
1083 }
1084
1085 /**
1086 * <!-- begin-user-doc -->
1087 * <!-- end-user-doc -->
1088 * @generated
1089 */
848 public EEnum getLogicValue() { 1090 public EEnum getLogicValue() {
849 return logicValueEEnum; 1091 return logicValueEEnum;
850 } 1092 }
@@ -929,8 +1171,8 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
929 1171
930 assertionEClass = createEClass(ASSERTION); 1172 assertionEClass = createEClass(ASSERTION);
931 createEReference(assertionEClass, ASSERTION__RELATION); 1173 createEReference(assertionEClass, ASSERTION__RELATION);
932 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
933 createEAttribute(assertionEClass, ASSERTION__VALUE); 1174 createEAttribute(assertionEClass, ASSERTION__VALUE);
1175 createEReference(assertionEClass, ASSERTION__ARGUMENTS);
934 1176
935 nodeEClass = createEClass(NODE); 1177 nodeEClass = createEClass(NODE);
936 1178
@@ -955,15 +1197,43 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
955 1197
956 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY); 1198 unboundedMultiplicityEClass = createEClass(UNBOUNDED_MULTIPLICITY);
957 1199
958 argumentEClass = createEClass(ARGUMENT); 1200 variableOrNodeArgumentEClass = createEClass(VARIABLE_OR_NODE_ARGUMENT);
959 createEReference(argumentEClass, ARGUMENT__VARIABLE_OR_NODE); 1201 createEReference(variableOrNodeArgumentEClass, VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE);
960 createEReference(argumentEClass, ARGUMENT__SINGLETON_VARIABLE); 1202 createEReference(variableOrNodeArgumentEClass, VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE);
961 1203
962 enumDeclarationEClass = createEClass(ENUM_DECLARATION); 1204 enumDeclarationEClass = createEClass(ENUM_DECLARATION);
963 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS); 1205 createEReference(enumDeclarationEClass, ENUM_DECLARATION__LITERALS);
964 1206
965 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE); 1207 variableOrNodeEClass = createEClass(VARIABLE_OR_NODE);
966 1208
1209 constantEClass = createEClass(CONSTANT);
1210
1211 intConstantEClass = createEClass(INT_CONSTANT);
1212 createEAttribute(intConstantEClass, INT_CONSTANT__INT_VALUE);
1213
1214 realConstantEClass = createEClass(REAL_CONSTANT);
1215 createEAttribute(realConstantEClass, REAL_CONSTANT__REAL_VALUE);
1216
1217 stringConstantEClass = createEClass(STRING_CONSTANT);
1218 createEAttribute(stringConstantEClass, STRING_CONSTANT__STRING_VALUE);
1219
1220 constantArgumentEClass = createEClass(CONSTANT_ARGUMENT);
1221 createEReference(constantArgumentEClass, CONSTANT_ARGUMENT__CONSTANT);
1222
1223 argumentEClass = createEClass(ARGUMENT);
1224
1225 nodeAssertionArgumentEClass = createEClass(NODE_ASSERTION_ARGUMENT);
1226 createEReference(nodeAssertionArgumentEClass, NODE_ASSERTION_ARGUMENT__NODE);
1227
1228 assertionArgumentEClass = createEClass(ASSERTION_ARGUMENT);
1229
1230 constantAssertionArgumentEClass = createEClass(CONSTANT_ASSERTION_ARGUMENT);
1231 createEReference(constantAssertionArgumentEClass, CONSTANT_ASSERTION_ARGUMENT__CONSTANT);
1232
1233 nodeValueAssertionEClass = createEClass(NODE_VALUE_ASSERTION);
1234 createEReference(nodeValueAssertionEClass, NODE_VALUE_ASSERTION__NODE);
1235 createEReference(nodeValueAssertionEClass, NODE_VALUE_ASSERTION__VALUE);
1236
967 // Create enums 1237 // Create enums
968 logicValueEEnum = createEEnum(LOGIC_VALUE); 1238 logicValueEEnum = createEEnum(LOGIC_VALUE);
969 } 1239 }
@@ -1017,9 +1287,17 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1017 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1287 rangeMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1018 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1288 exactMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1019 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity()); 1289 unboundedMultiplicityEClass.getESuperTypes().add(this.getMultiplicity());
1290 variableOrNodeArgumentEClass.getESuperTypes().add(this.getArgument());
1020 enumDeclarationEClass.getESuperTypes().add(this.getRelation()); 1291 enumDeclarationEClass.getESuperTypes().add(this.getRelation());
1021 enumDeclarationEClass.getESuperTypes().add(this.getStatement()); 1292 enumDeclarationEClass.getESuperTypes().add(this.getStatement());
1022 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement()); 1293 variableOrNodeEClass.getESuperTypes().add(this.getNamedElement());
1294 intConstantEClass.getESuperTypes().add(this.getConstant());
1295 realConstantEClass.getESuperTypes().add(this.getConstant());
1296 stringConstantEClass.getESuperTypes().add(this.getConstant());
1297 constantArgumentEClass.getESuperTypes().add(this.getArgument());
1298 nodeAssertionArgumentEClass.getESuperTypes().add(this.getAssertionArgument());
1299 constantAssertionArgumentEClass.getESuperTypes().add(this.getAssertionArgument());
1300 nodeValueAssertionEClass.getESuperTypes().add(this.getStatement());
1023 1301
1024 // Initialize classes, features, and operations; add parameters 1302 // Initialize classes, features, and operations; add parameters
1025 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1303 initEClass(problemEClass, Problem.class, "Problem", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1126,11 +1404,11 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1126 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class, 1404 initEReference(getAssertion_Relation(), this.getRelation(), null, "relation", null, 0, 1, Assertion.class,
1127 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, 1405 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1128 IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1406 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1129 initEReference(getAssertion_Arguments(), this.getNode(), null, "arguments", null, 0, -1, Assertion.class,
1130 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1131 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1132 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT, 1407 initEAttribute(getAssertion_Value(), this.getLogicValue(), "value", null, 0, 1, Assertion.class, !IS_TRANSIENT,
1133 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1408 !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1409 initEReference(getAssertion_Arguments(), this.getAssertionArgument(), null, "arguments", null, 0, -1,
1410 Assertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1411 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1134 1412
1135 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1413 initEClass(nodeEClass, Node.class, "Node", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1136 1414
@@ -1175,14 +1453,14 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1175 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT, 1453 initEClass(unboundedMultiplicityEClass, UnboundedMultiplicity.class, "UnboundedMultiplicity", !IS_ABSTRACT,
1176 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); 1454 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1177 1455
1178 initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, 1456 initEClass(variableOrNodeArgumentEClass, VariableOrNodeArgument.class, "VariableOrNodeArgument", !IS_ABSTRACT,
1179 IS_GENERATED_INSTANCE_CLASS); 1457 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1180 initEReference(getArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode", null, 0, 1, 1458 initEReference(getVariableOrNodeArgument_VariableOrNode(), this.getVariableOrNode(), null, "variableOrNode",
1181 Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, 1459 null, 0, 1, VariableOrNodeArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1182 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1460 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1183 initEReference(getArgument_SingletonVariable(), this.getImplicitVariable(), null, "singletonVariable", null, 0, 1461 initEReference(getVariableOrNodeArgument_SingletonVariable(), this.getImplicitVariable(), null,
1184 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, 1462 "singletonVariable", null, 0, 1, VariableOrNodeArgument.class, !IS_TRANSIENT, !IS_VOLATILE,
1185 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); 1463 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1186 1464
1187 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE, 1465 initEClass(enumDeclarationEClass, EnumDeclaration.class, "EnumDeclaration", !IS_ABSTRACT, !IS_INTERFACE,
1188 IS_GENERATED_INSTANCE_CLASS); 1466 IS_GENERATED_INSTANCE_CLASS);
@@ -1193,6 +1471,57 @@ public class ProblemPackageImpl extends EPackageImpl implements ProblemPackage {
1193 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE, 1471 initEClass(variableOrNodeEClass, VariableOrNode.class, "VariableOrNode", IS_ABSTRACT, !IS_INTERFACE,
1194 IS_GENERATED_INSTANCE_CLASS); 1472 IS_GENERATED_INSTANCE_CLASS);
1195 1473
1474 initEClass(constantEClass, Constant.class, "Constant", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1475
1476 initEClass(intConstantEClass, IntConstant.class, "IntConstant", !IS_ABSTRACT, !IS_INTERFACE,
1477 IS_GENERATED_INSTANCE_CLASS);
1478 initEAttribute(getIntConstant_IntValue(), ecorePackage.getEInt(), "intValue", "0", 0, 1, IntConstant.class,
1479 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1480
1481 initEClass(realConstantEClass, RealConstant.class, "RealConstant", !IS_ABSTRACT, !IS_INTERFACE,
1482 IS_GENERATED_INSTANCE_CLASS);
1483 initEAttribute(getRealConstant_RealValue(), ecorePackage.getEDouble(), "realValue", "0.0", 0, 1,
1484 RealConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1485 !IS_DERIVED, IS_ORDERED);
1486
1487 initEClass(stringConstantEClass, StringConstant.class, "StringConstant", !IS_ABSTRACT, !IS_INTERFACE,
1488 IS_GENERATED_INSTANCE_CLASS);
1489 initEAttribute(getStringConstant_StringValue(), ecorePackage.getEString(), "stringValue", null, 0, 1,
1490 StringConstant.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
1491 !IS_DERIVED, IS_ORDERED);
1492
1493 initEClass(constantArgumentEClass, ConstantArgument.class, "ConstantArgument", !IS_ABSTRACT, !IS_INTERFACE,
1494 IS_GENERATED_INSTANCE_CLASS);
1495 initEReference(getConstantArgument_Constant(), this.getConstant(), null, "constant", null, 0, 1,
1496 ConstantArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1497 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1498
1499 initEClass(argumentEClass, Argument.class, "Argument", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1500
1501 initEClass(nodeAssertionArgumentEClass, NodeAssertionArgument.class, "NodeAssertionArgument", !IS_ABSTRACT,
1502 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1503 initEReference(getNodeAssertionArgument_Node(), this.getNode(), null, "node", null, 0, 1,
1504 NodeAssertionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE,
1505 IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1506
1507 initEClass(assertionArgumentEClass, AssertionArgument.class, "AssertionArgument", IS_ABSTRACT, !IS_INTERFACE,
1508 IS_GENERATED_INSTANCE_CLASS);
1509
1510 initEClass(constantAssertionArgumentEClass, ConstantAssertionArgument.class, "ConstantAssertionArgument",
1511 !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1512 initEReference(getConstantAssertionArgument_Constant(), this.getConstant(), null, "constant", null, 0, 1,
1513 ConstantAssertionArgument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
1514 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1515
1516 initEClass(nodeValueAssertionEClass, NodeValueAssertion.class, "NodeValueAssertion", !IS_ABSTRACT,
1517 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
1518 initEReference(getNodeValueAssertion_Node(), this.getNode(), null, "node", null, 0, 1, NodeValueAssertion.class,
1519 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
1520 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1521 initEReference(getNodeValueAssertion_Value(), this.getConstant(), null, "value", null, 0, 1,
1522 NodeValueAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
1523 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
1524
1196 // Initialize enums and add enum literals 1525 // Initialize enums and add enum literals
1197 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue"); 1526 initEEnum(logicValueEEnum, LogicValue.class, "LogicValue");
1198 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE); 1527 addEEnumLiteral(logicValueEEnum, LogicValue.TRUE);
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java
new file mode 100644
index 00000000..f28d7b5f
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/RealConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
12import org.eclipse.viatra.solver.language.model.problem.RealConstant;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>Real Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.RealConstantImpl#getRealValue <em>Real Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class RealConstantImpl extends ConstantImpl implements RealConstant {
28 /**
29 * The default value of the '{@link #getRealValue() <em>Real Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getRealValue()
33 * @generated
34 * @ordered
35 */
36 protected static final double REAL_VALUE_EDEFAULT = 0.0;
37
38 /**
39 * The cached value of the '{@link #getRealValue() <em>Real Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getRealValue()
43 * @generated
44 * @ordered
45 */
46 protected double realValue = REAL_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected RealConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.REAL_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public double getRealValue() {
73 return realValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setRealValue(double newRealValue) {
82 double oldRealValue = realValue;
83 realValue = newRealValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.REAL_CONSTANT__REAL_VALUE,
86 oldRealValue, realValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
98 return getRealValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
112 setRealValue((Double) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
127 setRealValue(REAL_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.REAL_CONSTANT__REAL_VALUE:
142 return realValue != REAL_VALUE_EDEFAULT;
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (realValue: ");
159 result.append(realValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //RealConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java
new file mode 100644
index 00000000..9eb05cf3
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/StringConstantImpl.java
@@ -0,0 +1,164 @@
1/**
2 */
3package org.eclipse.viatra.solver.language.model.problem.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6
7import org.eclipse.emf.ecore.EClass;
8
9import org.eclipse.emf.ecore.impl.ENotificationImpl;
10
11import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
12import org.eclipse.viatra.solver.language.model.problem.StringConstant;
13
14/**
15 * <!-- begin-user-doc -->
16 * An implementation of the model object '<em><b>String Constant</b></em>'.
17 * <!-- end-user-doc -->
18 * <p>
19 * The following features are implemented:
20 * </p>
21 * <ul>
22 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.StringConstantImpl#getStringValue <em>String Value</em>}</li>
23 * </ul>
24 *
25 * @generated
26 */
27public class StringConstantImpl extends ConstantImpl implements StringConstant {
28 /**
29 * The default value of the '{@link #getStringValue() <em>String Value</em>}' attribute.
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @see #getStringValue()
33 * @generated
34 * @ordered
35 */
36 protected static final String STRING_VALUE_EDEFAULT = null;
37
38 /**
39 * The cached value of the '{@link #getStringValue() <em>String Value</em>}' attribute.
40 * <!-- begin-user-doc -->
41 * <!-- end-user-doc -->
42 * @see #getStringValue()
43 * @generated
44 * @ordered
45 */
46 protected String stringValue = STRING_VALUE_EDEFAULT;
47
48 /**
49 * <!-- begin-user-doc -->
50 * <!-- end-user-doc -->
51 * @generated
52 */
53 protected StringConstantImpl() {
54 super();
55 }
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 @Override
63 protected EClass eStaticClass() {
64 return ProblemPackage.Literals.STRING_CONSTANT;
65 }
66
67 /**
68 * <!-- begin-user-doc -->
69 * <!-- end-user-doc -->
70 * @generated
71 */
72 public String getStringValue() {
73 return stringValue;
74 }
75
76 /**
77 * <!-- begin-user-doc -->
78 * <!-- end-user-doc -->
79 * @generated
80 */
81 public void setStringValue(String newStringValue) {
82 String oldStringValue = stringValue;
83 stringValue = newStringValue;
84 if (eNotificationRequired())
85 eNotify(new ENotificationImpl(this, Notification.SET, ProblemPackage.STRING_CONSTANT__STRING_VALUE,
86 oldStringValue, stringValue));
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public Object eGet(int featureID, boolean resolve, boolean coreType) {
96 switch (featureID) {
97 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
98 return getStringValue();
99 }
100 return super.eGet(featureID, resolve, coreType);
101 }
102
103 /**
104 * <!-- begin-user-doc -->
105 * <!-- end-user-doc -->
106 * @generated
107 */
108 @Override
109 public void eSet(int featureID, Object newValue) {
110 switch (featureID) {
111 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
112 setStringValue((String) newValue);
113 return;
114 }
115 super.eSet(featureID, newValue);
116 }
117
118 /**
119 * <!-- begin-user-doc -->
120 * <!-- end-user-doc -->
121 * @generated
122 */
123 @Override
124 public void eUnset(int featureID) {
125 switch (featureID) {
126 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
127 setStringValue(STRING_VALUE_EDEFAULT);
128 return;
129 }
130 super.eUnset(featureID);
131 }
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 @Override
139 public boolean eIsSet(int featureID) {
140 switch (featureID) {
141 case ProblemPackage.STRING_CONSTANT__STRING_VALUE:
142 return STRING_VALUE_EDEFAULT == null ? stringValue != null : !STRING_VALUE_EDEFAULT.equals(stringValue);
143 }
144 return super.eIsSet(featureID);
145 }
146
147 /**
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @generated
151 */
152 @Override
153 public String toString() {
154 if (eIsProxy())
155 return super.toString();
156
157 StringBuilder result = new StringBuilder(super.toString());
158 result.append(" (stringValue: ");
159 result.append(stringValue);
160 result.append(')');
161 return result.toString();
162 }
163
164} //StringConstantImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java
new file mode 100644
index 00000000..693d5cdd
--- /dev/null
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/impl/VariableOrNodeArgumentImpl.java
@@ -0,0 +1,251 @@
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;
12
13import org.eclipse.viatra.solver.language.model.problem.ImplicitVariable;
14import org.eclipse.viatra.solver.language.model.problem.ProblemPackage;
15import org.eclipse.viatra.solver.language.model.problem.VariableOrNode;
16import org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument;
17
18/**
19 * <!-- begin-user-doc -->
20 * An implementation of the model object '<em><b>Variable Or Node Argument</b></em>'.
21 * <!-- end-user-doc -->
22 * <p>
23 * The following features are implemented:
24 * </p>
25 * <ul>
26 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl#getVariableOrNode <em>Variable Or Node</em>}</li>
27 * <li>{@link org.eclipse.viatra.solver.language.model.problem.impl.VariableOrNodeArgumentImpl#getSingletonVariable <em>Singleton Variable</em>}</li>
28 * </ul>
29 *
30 * @generated
31 */
32public class VariableOrNodeArgumentImpl extends ArgumentImpl implements VariableOrNodeArgument {
33 /**
34 * The cached value of the '{@link #getVariableOrNode() <em>Variable Or Node</em>}' reference.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @see #getVariableOrNode()
38 * @generated
39 * @ordered
40 */
41 protected VariableOrNode variableOrNode;
42
43 /**
44 * The cached value of the '{@link #getSingletonVariable() <em>Singleton Variable</em>}' containment reference.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @see #getSingletonVariable()
48 * @generated
49 * @ordered
50 */
51 protected ImplicitVariable singletonVariable;
52
53 /**
54 * <!-- begin-user-doc -->
55 * <!-- end-user-doc -->
56 * @generated
57 */
58 protected VariableOrNodeArgumentImpl() {
59 super();
60 }
61
62 /**
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @generated
66 */
67 @Override
68 protected EClass eStaticClass() {
69 return ProblemPackage.Literals.VARIABLE_OR_NODE_ARGUMENT;
70 }
71
72 /**
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @generated
76 */
77 public VariableOrNode getVariableOrNode() {
78 if (variableOrNode != null && variableOrNode.eIsProxy()) {
79 InternalEObject oldVariableOrNode = (InternalEObject) variableOrNode;
80 variableOrNode = (VariableOrNode) eResolveProxy(oldVariableOrNode);
81 if (variableOrNode != oldVariableOrNode) {
82 if (eNotificationRequired())
83 eNotify(new ENotificationImpl(this, Notification.RESOLVE,
84 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, oldVariableOrNode,
85 variableOrNode));
86 }
87 }
88 return variableOrNode;
89 }
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 public VariableOrNode basicGetVariableOrNode() {
97 return variableOrNode;
98 }
99
100 /**
101 * <!-- begin-user-doc -->
102 * <!-- end-user-doc -->
103 * @generated
104 */
105 public void setVariableOrNode(VariableOrNode newVariableOrNode) {
106 VariableOrNode oldVariableOrNode = variableOrNode;
107 variableOrNode = newVariableOrNode;
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.SET,
110 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE, oldVariableOrNode, variableOrNode));
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.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, oldSingletonVariable,
133 newSingletonVariable);
134 if (msgs == null)
135 msgs = notification;
136 else
137 msgs.add(notification);
138 }
139 return msgs;
140 }
141
142 /**
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 */
147 public void setSingletonVariable(ImplicitVariable newSingletonVariable) {
148 if (newSingletonVariable != singletonVariable) {
149 NotificationChain msgs = null;
150 if (singletonVariable != null)
151 msgs = ((InternalEObject) singletonVariable).eInverseRemove(this,
152 EOPPOSITE_FEATURE_BASE - ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, null,
153 msgs);
154 if (newSingletonVariable != null)
155 msgs = ((InternalEObject) newSingletonVariable).eInverseAdd(this,
156 EOPPOSITE_FEATURE_BASE - ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, null,
157 msgs);
158 msgs = basicSetSingletonVariable(newSingletonVariable, msgs);
159 if (msgs != null)
160 msgs.dispatch();
161 } else if (eNotificationRequired())
162 eNotify(new ENotificationImpl(this, Notification.SET,
163 ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE, newSingletonVariable,
164 newSingletonVariable));
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
174 switch (featureID) {
175 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
176 return basicSetSingletonVariable(null, msgs);
177 }
178 return super.eInverseRemove(otherEnd, featureID, msgs);
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public Object eGet(int featureID, boolean resolve, boolean coreType) {
188 switch (featureID) {
189 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
190 if (resolve)
191 return getVariableOrNode();
192 return basicGetVariableOrNode();
193 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
194 return getSingletonVariable();
195 }
196 return super.eGet(featureID, resolve, coreType);
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public void eSet(int featureID, Object newValue) {
206 switch (featureID) {
207 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
208 setVariableOrNode((VariableOrNode) newValue);
209 return;
210 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
211 setSingletonVariable((ImplicitVariable) newValue);
212 return;
213 }
214 super.eSet(featureID, newValue);
215 }
216
217 /**
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 */
222 @Override
223 public void eUnset(int featureID) {
224 switch (featureID) {
225 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
226 setVariableOrNode((VariableOrNode) null);
227 return;
228 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
229 setSingletonVariable((ImplicitVariable) null);
230 return;
231 }
232 super.eUnset(featureID);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public boolean eIsSet(int featureID) {
242 switch (featureID) {
243 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__VARIABLE_OR_NODE:
244 return variableOrNode != null;
245 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT__SINGLETON_VARIABLE:
246 return singletonVariable != null;
247 }
248 return super.eIsSet(featureID);
249 }
250
251} //VariableOrNodeArgumentImpl
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
index 3fc3ca75..07246d70 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemAdapterFactory.java
@@ -182,8 +182,8 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
182 } 182 }
183 183
184 @Override 184 @Override
185 public Adapter caseArgument(Argument object) { 185 public Adapter caseVariableOrNodeArgument(VariableOrNodeArgument object) {
186 return createArgumentAdapter(); 186 return createVariableOrNodeArgumentAdapter();
187 } 187 }
188 188
189 @Override 189 @Override
@@ -197,6 +197,56 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
197 } 197 }
198 198
199 @Override 199 @Override
200 public Adapter caseConstant(Constant object) {
201 return createConstantAdapter();
202 }
203
204 @Override
205 public Adapter caseIntConstant(IntConstant object) {
206 return createIntConstantAdapter();
207 }
208
209 @Override
210 public Adapter caseRealConstant(RealConstant object) {
211 return createRealConstantAdapter();
212 }
213
214 @Override
215 public Adapter caseStringConstant(StringConstant object) {
216 return createStringConstantAdapter();
217 }
218
219 @Override
220 public Adapter caseConstantArgument(ConstantArgument object) {
221 return createConstantArgumentAdapter();
222 }
223
224 @Override
225 public Adapter caseArgument(Argument object) {
226 return createArgumentAdapter();
227 }
228
229 @Override
230 public Adapter caseNodeAssertionArgument(NodeAssertionArgument object) {
231 return createNodeAssertionArgumentAdapter();
232 }
233
234 @Override
235 public Adapter caseAssertionArgument(AssertionArgument object) {
236 return createAssertionArgumentAdapter();
237 }
238
239 @Override
240 public Adapter caseConstantAssertionArgument(ConstantAssertionArgument object) {
241 return createConstantAssertionArgumentAdapter();
242 }
243
244 @Override
245 public Adapter caseNodeValueAssertion(NodeValueAssertion object) {
246 return createNodeValueAssertionAdapter();
247 }
248
249 @Override
200 public Adapter defaultCase(EObject object) { 250 public Adapter defaultCase(EObject object) {
201 return createEObjectAdapter(); 251 return createEObjectAdapter();
202 } 252 }
@@ -538,6 +588,20 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
538 } 588 }
539 589
540 /** 590 /**
591 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument <em>Variable Or Node Argument</em>}'.
592 * <!-- begin-user-doc -->
593 * This default implementation returns null so that we can easily ignore cases;
594 * it's useful to ignore a case when inheritance will catch all the cases anyway.
595 * <!-- end-user-doc -->
596 * @return the new adapter.
597 * @see org.eclipse.viatra.solver.language.model.problem.VariableOrNodeArgument
598 * @generated
599 */
600 public Adapter createVariableOrNodeArgumentAdapter() {
601 return null;
602 }
603
604 /**
541 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'. 605 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Argument <em>Argument</em>}'.
542 * <!-- begin-user-doc --> 606 * <!-- begin-user-doc -->
543 * This default implementation returns null so that we can easily ignore cases; 607 * This default implementation returns null so that we can easily ignore cases;
@@ -552,6 +616,62 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
552 } 616 }
553 617
554 /** 618 /**
619 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument <em>Node Assertion Argument</em>}'.
620 * <!-- begin-user-doc -->
621 * This default implementation returns null so that we can easily ignore cases;
622 * it's useful to ignore a case when inheritance will catch all the cases anyway.
623 * <!-- end-user-doc -->
624 * @return the new adapter.
625 * @see org.eclipse.viatra.solver.language.model.problem.NodeAssertionArgument
626 * @generated
627 */
628 public Adapter createNodeAssertionArgumentAdapter() {
629 return null;
630 }
631
632 /**
633 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.AssertionArgument <em>Assertion Argument</em>}'.
634 * <!-- begin-user-doc -->
635 * This default implementation returns null so that we can easily ignore cases;
636 * it's useful to ignore a case when inheritance will catch all the cases anyway.
637 * <!-- end-user-doc -->
638 * @return the new adapter.
639 * @see org.eclipse.viatra.solver.language.model.problem.AssertionArgument
640 * @generated
641 */
642 public Adapter createAssertionArgumentAdapter() {
643 return null;
644 }
645
646 /**
647 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument <em>Constant Assertion Argument</em>}'.
648 * <!-- begin-user-doc -->
649 * This default implementation returns null so that we can easily ignore cases;
650 * it's useful to ignore a case when inheritance will catch all the cases anyway.
651 * <!-- end-user-doc -->
652 * @return the new adapter.
653 * @see org.eclipse.viatra.solver.language.model.problem.ConstantAssertionArgument
654 * @generated
655 */
656 public Adapter createConstantAssertionArgumentAdapter() {
657 return null;
658 }
659
660 /**
661 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion <em>Node Value Assertion</em>}'.
662 * <!-- begin-user-doc -->
663 * This default implementation returns null so that we can easily ignore cases;
664 * it's useful to ignore a case when inheritance will catch all the cases anyway.
665 * <!-- end-user-doc -->
666 * @return the new adapter.
667 * @see org.eclipse.viatra.solver.language.model.problem.NodeValueAssertion
668 * @generated
669 */
670 public Adapter createNodeValueAssertionAdapter() {
671 return null;
672 }
673
674 /**
555 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'. 675 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.EnumDeclaration <em>Enum Declaration</em>}'.
556 * <!-- begin-user-doc --> 676 * <!-- begin-user-doc -->
557 * This default implementation returns null so that we can easily ignore cases; 677 * This default implementation returns null so that we can easily ignore cases;
@@ -580,6 +700,76 @@ public class ProblemAdapterFactory extends AdapterFactoryImpl {
580 } 700 }
581 701
582 /** 702 /**
703 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.Constant <em>Constant</em>}'.
704 * <!-- begin-user-doc -->
705 * This default implementation returns null so that we can easily ignore cases;
706 * it's useful to ignore a case when inheritance will catch all the cases anyway.
707 * <!-- end-user-doc -->
708 * @return the new adapter.
709 * @see org.eclipse.viatra.solver.language.model.problem.Constant
710 * @generated
711 */
712 public Adapter createConstantAdapter() {
713 return null;
714 }
715
716 /**
717 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.IntConstant <em>Int Constant</em>}'.
718 * <!-- begin-user-doc -->
719 * This default implementation returns null so that we can easily ignore cases;
720 * it's useful to ignore a case when inheritance will catch all the cases anyway.
721 * <!-- end-user-doc -->
722 * @return the new adapter.
723 * @see org.eclipse.viatra.solver.language.model.problem.IntConstant
724 * @generated
725 */
726 public Adapter createIntConstantAdapter() {
727 return null;
728 }
729
730 /**
731 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.RealConstant <em>Real Constant</em>}'.
732 * <!-- begin-user-doc -->
733 * This default implementation returns null so that we can easily ignore cases;
734 * it's useful to ignore a case when inheritance will catch all the cases anyway.
735 * <!-- end-user-doc -->
736 * @return the new adapter.
737 * @see org.eclipse.viatra.solver.language.model.problem.RealConstant
738 * @generated
739 */
740 public Adapter createRealConstantAdapter() {
741 return null;
742 }
743
744 /**
745 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.StringConstant <em>String Constant</em>}'.
746 * <!-- begin-user-doc -->
747 * This default implementation returns null so that we can easily ignore cases;
748 * it's useful to ignore a case when inheritance will catch all the cases anyway.
749 * <!-- end-user-doc -->
750 * @return the new adapter.
751 * @see org.eclipse.viatra.solver.language.model.problem.StringConstant
752 * @generated
753 */
754 public Adapter createStringConstantAdapter() {
755 return null;
756 }
757
758 /**
759 * Creates a new adapter for an object of class '{@link org.eclipse.viatra.solver.language.model.problem.ConstantArgument <em>Constant Argument</em>}'.
760 * <!-- begin-user-doc -->
761 * This default implementation returns null so that we can easily ignore cases;
762 * it's useful to ignore a case when inheritance will catch all the cases anyway.
763 * <!-- end-user-doc -->
764 * @return the new adapter.
765 * @see org.eclipse.viatra.solver.language.model.problem.ConstantArgument
766 * @generated
767 */
768 public Adapter createConstantArgumentAdapter() {
769 return null;
770 }
771
772 /**
583 * Creates a new adapter for the default case. 773 * Creates a new adapter for the default case.
584 * <!-- begin-user-doc --> 774 * <!-- begin-user-doc -->
585 * This default implementation returns null. 775 * This default implementation returns null.
diff --git a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
index b74718b5..837d3a03 100644
--- a/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
+++ b/language-model/src/main/emf-gen/org/eclipse/viatra/solver/language/model/problem/util/ProblemSwitch.java
@@ -285,9 +285,11 @@ public class ProblemSwitch<T> extends Switch<T> {
285 result = defaultCase(theEObject); 285 result = defaultCase(theEObject);
286 return result; 286 return result;
287 } 287 }
288 case ProblemPackage.ARGUMENT: { 288 case ProblemPackage.VARIABLE_OR_NODE_ARGUMENT: {
289 Argument argument = (Argument) theEObject; 289 VariableOrNodeArgument variableOrNodeArgument = (VariableOrNodeArgument) theEObject;
290 T result = caseArgument(argument); 290 T result = caseVariableOrNodeArgument(variableOrNodeArgument);
291 if (result == null)
292 result = caseArgument(variableOrNodeArgument);
291 if (result == null) 293 if (result == null)
292 result = defaultCase(theEObject); 294 result = defaultCase(theEObject);
293 return result; 295 return result;
@@ -314,6 +316,90 @@ public class ProblemSwitch<T> extends Switch<T> {
314 result = defaultCase(theEObject); 316 result = defaultCase(theEObject);
315 return result; 317 return result;
316 } 318 }
319 case ProblemPackage.CONSTANT: {
320 Constant constant = (Constant) theEObject;
321 T result = caseConstant(constant);
322 if (result == null)
323 result = defaultCase(theEObject);
324 return result;
325 }
326 case ProblemPackage.INT_CONSTANT: {
327 IntConstant intConstant = (IntConstant) theEObject;
328 T result = caseIntConstant(intConstant);
329 if (result == null)
330 result = caseConstant(intConstant);
331 if (result == null)
332 result = defaultCase(theEObject);
333 return result;
334 }
335 case ProblemPackage.REAL_CONSTANT: {
336 RealConstant realConstant = (RealConstant) theEObject;
337 T result = caseRealConstant(realConstant);
338 if (result == null)
339 result = caseConstant(realConstant);
340 if (result == null)
341 result = defaultCase(theEObject);
342 return result;
343 }
344 case ProblemPackage.STRING_CONSTANT: {
345 StringConstant stringConstant = (StringConstant) theEObject;
346 T result = caseStringConstant(stringConstant);
347 if (result == null)
348 result = caseConstant(stringConstant);
349 if (result == null)
350 result = defaultCase(theEObject);
351 return result;
352 }
353 case ProblemPackage.CONSTANT_ARGUMENT: {
354 ConstantArgument constantArgument = (ConstantArgument) theEObject;
355 T result = caseConstantArgument(constantArgument);
356 if (result == null)
357 result = caseArgument(constantArgument);
358 if (result == null)
359 result = defaultCase(theEObject);
360 return result;
361 }
362 case ProblemPackage.ARGUMENT: {
363 Argument argument = (Argument) theEObject;
364 T result = caseArgument(argument);
365 if (result == null)
366 result = defaultCase(theEObject);
367 return result;
368 }
369 case ProblemPackage.NODE_ASSERTION_ARGUMENT: {
370 NodeAssertionArgument nodeAssertionArgument = (NodeAssertionArgument) theEObject;
371 T result = caseNodeAssertionArgument(nodeAssertionArgument);
372 if (result == null)
373 result = caseAssertionArgument(nodeAssertionArgument);
374 if (result == null)
375 result = defaultCase(theEObject);
376 return result;
377 }
378 case ProblemPackage.ASSERTION_ARGUMENT: {
379 AssertionArgument assertionArgument = (AssertionArgument) theEObject;
380 T result = caseAssertionArgument(assertionArgument);
381 if (result == null)
382 result = defaultCase(theEObject);
383 return result;
384 }
385 case ProblemPackage.CONSTANT_ASSERTION_ARGUMENT: {
386 ConstantAssertionArgument constantAssertionArgument = (ConstantAssertionArgument) theEObject;
387 T result = caseConstantAssertionArgument(constantAssertionArgument);
388 if (result == null)
389 result = caseAssertionArgument(constantAssertionArgument);
390 if (result == null)
391 result = defaultCase(theEObject);
392 return result;
393 }
394 case ProblemPackage.NODE_VALUE_ASSERTION: {
395 NodeValueAssertion nodeValueAssertion = (NodeValueAssertion) theEObject;
396 T result = caseNodeValueAssertion(nodeValueAssertion);
397 if (result == null)
398 result = caseStatement(nodeValueAssertion);
399 if (result == null)
400 result = defaultCase(theEObject);
401 return result;
402 }
317 default: 403 default:
318 return defaultCase(theEObject); 404 return defaultCase(theEObject);
319 } 405 }
@@ -665,6 +751,21 @@ public class ProblemSwitch<T> extends Switch<T> {
665 } 751 }
666 752
667 /** 753 /**
754 * Returns the result of interpreting the object as an instance of '<em>Variable Or Node Argument</em>'.
755 * <!-- begin-user-doc -->
756 * This implementation returns null;
757 * returning a non-null result will terminate the switch.
758 * <!-- end-user-doc -->
759 * @param object the target of the switch.
760 * @return the result of interpreting the object as an instance of '<em>Variable Or Node Argument</em>'.
761 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
762 * @generated
763 */
764 public T caseVariableOrNodeArgument(VariableOrNodeArgument object) {
765 return null;
766 }
767
768 /**
668 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'. 769 * Returns the result of interpreting the object as an instance of '<em>Argument</em>'.
669 * <!-- begin-user-doc --> 770 * <!-- begin-user-doc -->
670 * This implementation returns null; 771 * This implementation returns null;
@@ -680,6 +781,66 @@ public class ProblemSwitch<T> extends Switch<T> {
680 } 781 }
681 782
682 /** 783 /**
784 * Returns the result of interpreting the object as an instance of '<em>Node Assertion Argument</em>'.
785 * <!-- begin-user-doc -->
786 * This implementation returns null;
787 * returning a non-null result will terminate the switch.
788 * <!-- end-user-doc -->
789 * @param object the target of the switch.
790 * @return the result of interpreting the object as an instance of '<em>Node Assertion Argument</em>'.
791 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
792 * @generated
793 */
794 public T caseNodeAssertionArgument(NodeAssertionArgument object) {
795 return null;
796 }
797
798 /**
799 * Returns the result of interpreting the object as an instance of '<em>Assertion Argument</em>'.
800 * <!-- begin-user-doc -->
801 * This implementation returns null;
802 * returning a non-null result will terminate the switch.
803 * <!-- end-user-doc -->
804 * @param object the target of the switch.
805 * @return the result of interpreting the object as an instance of '<em>Assertion Argument</em>'.
806 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
807 * @generated
808 */
809 public T caseAssertionArgument(AssertionArgument object) {
810 return null;
811 }
812
813 /**
814 * Returns the result of interpreting the object as an instance of '<em>Constant Assertion Argument</em>'.
815 * <!-- begin-user-doc -->
816 * This implementation returns null;
817 * returning a non-null result will terminate the switch.
818 * <!-- end-user-doc -->
819 * @param object the target of the switch.
820 * @return the result of interpreting the object as an instance of '<em>Constant Assertion Argument</em>'.
821 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
822 * @generated
823 */
824 public T caseConstantAssertionArgument(ConstantAssertionArgument object) {
825 return null;
826 }
827
828 /**
829 * Returns the result of interpreting the object as an instance of '<em>Node Value Assertion</em>'.
830 * <!-- begin-user-doc -->
831 * This implementation returns null;
832 * returning a non-null result will terminate the switch.
833 * <!-- end-user-doc -->
834 * @param object the target of the switch.
835 * @return the result of interpreting the object as an instance of '<em>Node Value Assertion</em>'.
836 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
837 * @generated
838 */
839 public T caseNodeValueAssertion(NodeValueAssertion object) {
840 return null;
841 }
842
843 /**
683 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'. 844 * Returns the result of interpreting the object as an instance of '<em>Enum Declaration</em>'.
684 * <!-- begin-user-doc --> 845 * <!-- begin-user-doc -->
685 * This implementation returns null; 846 * This implementation returns null;
@@ -710,6 +871,81 @@ public class ProblemSwitch<T> extends Switch<T> {
710 } 871 }
711 872
712 /** 873 /**
874 * Returns the result of interpreting the object as an instance of '<em>Constant</em>'.
875 * <!-- begin-user-doc -->
876 * This implementation returns null;
877 * returning a non-null result will terminate the switch.
878 * <!-- end-user-doc -->
879 * @param object the target of the switch.
880 * @return the result of interpreting the object as an instance of '<em>Constant</em>'.
881 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
882 * @generated
883 */
884 public T caseConstant(Constant object) {
885 return null;
886 }
887
888 /**
889 * Returns the result of interpreting the object as an instance of '<em>Int Constant</em>'.
890 * <!-- begin-user-doc -->
891 * This implementation returns null;
892 * returning a non-null result will terminate the switch.
893 * <!-- end-user-doc -->
894 * @param object the target of the switch.
895 * @return the result of interpreting the object as an instance of '<em>Int Constant</em>'.
896 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
897 * @generated
898 */
899 public T caseIntConstant(IntConstant object) {
900 return null;
901 }
902
903 /**
904 * Returns the result of interpreting the object as an instance of '<em>Real Constant</em>'.
905 * <!-- begin-user-doc -->
906 * This implementation returns null;
907 * returning a non-null result will terminate the switch.
908 * <!-- end-user-doc -->
909 * @param object the target of the switch.
910 * @return the result of interpreting the object as an instance of '<em>Real Constant</em>'.
911 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
912 * @generated
913 */
914 public T caseRealConstant(RealConstant object) {
915 return null;
916 }
917
918 /**
919 * Returns the result of interpreting the object as an instance of '<em>String Constant</em>'.
920 * <!-- begin-user-doc -->
921 * This implementation returns null;
922 * returning a non-null result will terminate the switch.
923 * <!-- end-user-doc -->
924 * @param object the target of the switch.
925 * @return the result of interpreting the object as an instance of '<em>String Constant</em>'.
926 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
927 * @generated
928 */
929 public T caseStringConstant(StringConstant object) {
930 return null;
931 }
932
933 /**
934 * Returns the result of interpreting the object as an instance of '<em>Constant Argument</em>'.
935 * <!-- begin-user-doc -->
936 * This implementation returns null;
937 * returning a non-null result will terminate the switch.
938 * <!-- end-user-doc -->
939 * @param object the target of the switch.
940 * @return the result of interpreting the object as an instance of '<em>Constant Argument</em>'.
941 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
942 * @generated
943 */
944 public T caseConstantArgument(ConstantArgument object) {
945 return null;
946 }
947
948 /**
713 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. 949 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
714 * <!-- begin-user-doc --> 950 * <!-- begin-user-doc -->
715 * This implementation returns null; 951 * This implementation returns null;
diff --git a/language-model/src/main/resources/model/problem.ecore b/language-model/src/main/resources/model/problem.ecore
index 99404f61..43d69a86 100644
--- a/language-model/src/main/resources/model/problem.ecore
+++ b/language-model/src/main/resources/model/problem.ecore
@@ -61,9 +61,9 @@
61 </eClassifiers> 61 </eClassifiers>
62 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> 62 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement">
63 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> 63 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
64 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
65 eType="#//Node"/>
66 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> 64 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
65 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
66 eType="#//AssertionArgument" containment="true"/>
67 </eClassifiers> 67 </eClassifiers>
68 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> 68 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/>
69 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> 69 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
@@ -94,7 +94,7 @@
94 defaultValueLiteral="1"/> 94 defaultValueLiteral="1"/>
95 </eClassifiers> 95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> 96 <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/>
97 <eClassifiers xsi:type="ecore:EClass" name="Argument"> 97 <eClassifiers xsi:type="ecore:EClass" name="VariableOrNodeArgument" eSuperTypes="#//Argument">
98 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> 98 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/>
99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" 99 <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable"
100 containment="true"/> 100 containment="true"/>
@@ -104,4 +104,34 @@
104 eType="#//Node" containment="true"/> 104 eType="#//Node" containment="true"/>
105 </eClassifiers> 105 </eClassifiers>
106 <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> 106 <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/>
107 <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true"/>
108 <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant">
109 <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"
110 defaultValueLiteral="0"/>
111 </eClassifiers>
112 <eClassifiers xsi:type="ecore:EClass" name="RealConstant" eSuperTypes="#//Constant">
113 <eStructuralFeatures xsi:type="ecore:EAttribute" name="realValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"
114 defaultValueLiteral="0.0"/>
115 </eClassifiers>
116 <eClassifiers xsi:type="ecore:EClass" name="StringConstant" eSuperTypes="#//Constant">
117 <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
118 </eClassifiers>
119 <eClassifiers xsi:type="ecore:EClass" name="ConstantArgument" eSuperTypes="#//Argument">
120 <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant"
121 containment="true"/>
122 </eClassifiers>
123 <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true"/>
124 <eClassifiers xsi:type="ecore:EClass" name="NodeAssertionArgument" eSuperTypes="#//AssertionArgument">
125 <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/>
126 </eClassifiers>
127 <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/>
128 <eClassifiers xsi:type="ecore:EClass" name="ConstantAssertionArgument" eSuperTypes="#//AssertionArgument">
129 <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant"
130 containment="true"/>
131 </eClassifiers>
132 <eClassifiers xsi:type="ecore:EClass" name="NodeValueAssertion" eSuperTypes="#//Statement">
133 <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/>
134 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Constant"
135 containment="true"/>
136 </eClassifiers>
107</ecore:EPackage> 137</ecore:EPackage>
diff --git a/language-model/src/main/resources/model/problem.genmodel b/language-model/src/main/resources/model/problem.genmodel
index 8a881ff7..fb93d60e 100644
--- a/language-model/src/main/resources/model/problem.genmodel
+++ b/language-model/src/main/resources/model/problem.genmodel
@@ -62,8 +62,8 @@
62 </genClasses> 62 </genClasses>
63 <genClasses ecoreClass="problem.ecore#//Assertion"> 63 <genClasses ecoreClass="problem.ecore#//Assertion">
64 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> 64 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/>
65 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/>
66 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> 65 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/>
66 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/>
67 </genClasses> 67 </genClasses>
68 <genClasses ecoreClass="problem.ecore#//Node"/> 68 <genClasses ecoreClass="problem.ecore#//Node"/>
69 <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> 69 <genClasses ecoreClass="problem.ecore#//ScopeDeclaration">
@@ -84,13 +84,38 @@
84 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> 84 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/>
85 </genClasses> 85 </genClasses>
86 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> 86 <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/>
87 <genClasses ecoreClass="problem.ecore#//Argument"> 87 <genClasses ecoreClass="problem.ecore#//VariableOrNodeArgument">
88 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/variableOrNode"/> 88 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/variableOrNode"/>
89 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Argument/singletonVariable"/> 89 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/singletonVariable"/>
90 </genClasses> 90 </genClasses>
91 <genClasses ecoreClass="problem.ecore#//EnumDeclaration"> 91 <genClasses ecoreClass="problem.ecore#//EnumDeclaration">
92 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/> 92 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/>
93 </genClasses> 93 </genClasses>
94 <genClasses ecoreClass="problem.ecore#//VariableOrNode"/> 94 <genClasses ecoreClass="problem.ecore#//VariableOrNode"/>
95 <genClasses ecoreClass="problem.ecore#//Constant"/>
96 <genClasses ecoreClass="problem.ecore#//IntConstant">
97 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//IntConstant/intValue"/>
98 </genClasses>
99 <genClasses ecoreClass="problem.ecore#//RealConstant">
100 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RealConstant/realValue"/>
101 </genClasses>
102 <genClasses ecoreClass="problem.ecore#//StringConstant">
103 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//StringConstant/stringValue"/>
104 </genClasses>
105 <genClasses ecoreClass="problem.ecore#//ConstantArgument">
106 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantArgument/constant"/>
107 </genClasses>
108 <genClasses ecoreClass="problem.ecore#//Argument"/>
109 <genClasses ecoreClass="problem.ecore#//NodeAssertionArgument">
110 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/>
111 </genClasses>
112 <genClasses ecoreClass="problem.ecore#//AssertionArgument"/>
113 <genClasses ecoreClass="problem.ecore#//ConstantAssertionArgument">
114 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/constant"/>
115 </genClasses>
116 <genClasses ecoreClass="problem.ecore#//NodeValueAssertion">
117 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/node"/>
118 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/value"/>
119 </genClasses>
95 </genPackages> 120 </genPackages>
96</genmodel:GenModel> 121</genmodel:GenModel>