aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/model/generated
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/model/generated')
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore299
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel312
2 files changed, 393 insertions, 218 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
index c18e4184..bd516038 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
@@ -7,146 +7,237 @@
7 eType="#//Statement" containment="true"/> 7 eType="#//Statement" containment="true"/>
8 </eClassifiers> 8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="Statement"/> 9 <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
10 <eClassifiers xsi:type="ecore:EClass" name="BooleanValue"/> 10 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Statement">
11 <eClassifiers xsi:type="ecore:EClass" name="TruthValue"/> 11 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
12 <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement"/>
13 <eClassifiers xsi:type="ecore:EClass" name="BasicInterpretation" eSuperTypes="#//Interpretation">
14 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol"
15 containment="true"/> 12 containment="true"/>
16 <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1" 13 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
17 eType="#//ComplexObject" containment="true"/>
18 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//TruthValue"
19 containment="true"/> 14 containment="true"/>
15 <eStructuralFeatures xsi:type="ecore:EAttribute" name="functional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
16 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
20 </eClassifiers> 17 </eClassifiers>
21 <eClassifiers xsi:type="ecore:EClass" name="Symbol"/> 18 <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPrediateDefinition" eSuperTypes="#//Statement">
22 <eClassifiers xsi:type="ecore:EClass" name="ModelSymbol" eSuperTypes="#//Symbol"> 19 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
23 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 20 containment="true"/>
24 </eClassifiers> 21 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
25 <eClassifiers xsi:type="ecore:EClass" name="PartialitySymbol" eSuperTypes="#//Symbol"/> 22 containment="true"/>
26 <eClassifiers xsi:type="ecore:EClass" name="ExistSymbol" eSuperTypes="#//PartialitySymbol"/>
27 <eClassifiers xsi:type="ecore:EClass" name="EqualsSymbol" eSuperTypes="#//PartialitySymbol"/>
28 <eClassifiers xsi:type="ecore:EClass" name="DataSymbol" eSuperTypes="#//Symbol"/>
29 <eClassifiers xsi:type="ecore:EClass" name="BooleanSymbol" eSuperTypes="#//DataSymbol"/>
30 <eClassifiers xsi:type="ecore:EClass" name="IntegerSymbol" eSuperTypes="#//DataSymbol"/>
31 <eClassifiers xsi:type="ecore:EClass" name="RealSymbol" eSuperTypes="#//DataSymbol"/>
32 <eClassifiers xsi:type="ecore:EClass" name="StringSymbol" eSuperTypes="#//DataSymbol"/>
33 <eClassifiers xsi:type="ecore:EClass" name="ComplexObject"/>
34 <eClassifiers xsi:type="ecore:EClass" name="Object" eSuperTypes="#//ComplexObject"/>
35 <eClassifiers xsi:type="ecore:EClass" name="NamedObject" eSuperTypes="#//Object #//Literal">
36 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
37 </eClassifiers>
38 <eClassifiers xsi:type="ecore:EClass" name="UnnamedObject" eSuperTypes="#//Object">
39 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
40 </eClassifiers> 23 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="DataObject" eSuperTypes="#//Object #//Literal"/> 24 <eClassifiers xsi:type="ecore:EClass" name="DefaultDefinition" eSuperTypes="#//Statement">
42 <eClassifiers xsi:type="ecore:EClass" name="BooleanObject" eSuperTypes="#//DataObject"> 25 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
43 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//BooleanValue" 26 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
44 containment="true"/> 27 containment="true"/>
45 </eClassifiers> 28 </eClassifiers>
46 <eClassifiers xsi:type="ecore:EClass" name="IntObject" eSuperTypes="#//DataObject"> 29 <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement">
47 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 30 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
48 </eClassifiers> 31 </eClassifiers>
49 <eClassifiers xsi:type="ecore:EClass" name="RealObject" eSuperTypes="#//DataObject"> 32 <eClassifiers xsi:type="ecore:EEnum" name="MetricType">
50 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> 33 <eLiterals name="INT" literal="int"/>
34 <eLiterals name="REAL" value="1" literal="real"/>
51 </eClassifiers> 35 </eClassifiers>
52 <eClassifiers xsi:type="ecore:EClass" name="StringObject" eSuperTypes="#//DataObject"> 36 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement">
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 37 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
38 containment="true"/>
39 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
40 containment="true"/>
41 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/>
54 </eClassifiers> 42 </eClassifiers>
55 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Statement"> 43 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement">
56 <eStructuralFeatures xsi:type="ecore:EAttribute" name="isError" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 44 <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="#//MetricType"/>
57 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 45 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
46 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EClass" name="Expression" eSuperTypes="#//Statement"/>
48 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression">
49 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
50 containment="true"/>
51 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression"
52 containment="true"/>
53 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression"
58 containment="true"/> 54 containment="true"/>
59 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
60 eType="#//Parameter" containment="true"/>
61 <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1"
62 eType="#//PatternBody" containment="true"/>
63 </eClassifiers> 55 </eClassifiers>
64 <eClassifiers xsi:type="ecore:EClass" name="Parameter"> 56 <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression">
65 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable" 57 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
66 containment="true"/> 58 containment="true"/>
67 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol" 59 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
68 containment="true"/> 60 containment="true"/>
69 </eClassifiers> 61 </eClassifiers>
70 <eClassifiers xsi:type="ecore:EClass" name="PatternBody"> 62 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
71 <eStructuralFeatures xsi:type="ecore:EReference" name="constraints" upperBound="-1" 63 <eLiterals name="EQ" literal="EQ"/>
72 eType="#//Constraint" containment="true"/> 64 <eLiterals name="NOT_EQ" value="1" literal="NOT_EQ"/>
65 <eLiterals name="LESS" value="2" literal="LESS"/>
66 <eLiterals name="LESS_EQ" value="3" literal="LESS_EQ"/>
67 <eLiterals name="GREATER" value="4" literal="GREATER"/>
68 <eLiterals name="GREATER_EQ" value="5" literal="GREATER_EQ"/>
69 <eLiterals name="IN" value="6" literal="IN"/>
70 <eLiterals name="ADD" value="7" literal="ADD"/>
71 <eLiterals name="SUB" value="8" literal="SUB"/>
72 <eLiterals name="MUL" value="9" literal="MUL"/>
73 <eLiterals name="DIV" value="10" literal="DIV"/>
74 <eLiterals name="POW" value="11" literal="POW"/>
73 </eClassifiers> 75 </eClassifiers>
74 <eClassifiers xsi:type="ecore:EClass" name="Polarity"/> 76 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp">
75 <eClassifiers xsi:type="ecore:EClass" name="Constraint"> 77 <eLiterals name="NEG" literal="!"/>
76 <eStructuralFeatures xsi:type="ecore:EReference" name="polarity" eType="#//Polarity" 78 <eLiterals name="PLUS" value="1" literal="+"/>
79 <eLiterals name="MINUS" value="2" literal="-"/>
80 <eLiterals name="MAY" value="3" literal="may"/>
81 <eLiterals name="MUST" value="4" literal="must"/>
82 <eLiterals name="CURRENT" value="5" literal="current"/>
83 </eClassifiers>
84 <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//Expression">
85 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
77 containment="true"/> 86 containment="true"/>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 87 </eClassifiers>
88 <eClassifiers xsi:type="ecore:EEnum" name="AggregationOp">
89 <eLiterals name="ONLY" literal="only"/>
90 <eLiterals name="SUM" value="1" literal="sum"/>
91 <eLiterals name="PROD" value="2" literal="prod"/>
92 <eLiterals name="AVG" value="3" literal="avg"/>
93 <eLiterals name="MIN" value="4" literal="min"/>
94 <eLiterals name="MAX" value="5" literal="max"/>
95 </eClassifiers>
96 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression">
97 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//AggregationOp"/>
98 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
79 containment="true"/> 99 containment="true"/>
80 <eStructuralFeatures xsi:type="ecore:EReference" name="params" upperBound="-1" 100 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
81 eType="#//Literal" containment="true"/>
82 <eStructuralFeatures xsi:type="ecore:EReference" name="closureType" eType="#//ClosureType"
83 containment="true"/> 101 containment="true"/>
84 </eClassifiers> 102 </eClassifiers>
85 <eClassifiers xsi:type="ecore:EClass" name="ClosureType"/> 103 <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression">
86 <eClassifiers xsi:type="ecore:EClass" name="Literal"/> 104 <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference"
87 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//Literal"> 105 containment="true"/>
88 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> 106 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
107 <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure"
108 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
109 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
110 containment="true"/>
111 </eClassifiers>
112 <eClassifiers xsi:type="ecore:EClass" name="ArgumentList">
113 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
114 eType="#//Argument" containment="true"/>
89 </eClassifiers> 115 </eClassifiers>
90 <eClassifiers xsi:type="ecore:EClass" name="AllInstances" eSuperTypes="#//ComplexObject"> 116 <eClassifiers xsi:type="ecore:EClass" name="Argument"/>
91 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol" 117 <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument">
118 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
92 containment="true"/> 119 containment="true"/>
93 </eClassifiers> 120 </eClassifiers>
94 <eClassifiers xsi:type="ecore:EClass" name="AllObjects" eSuperTypes="#//ComplexObject"/> 121 <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/>
95 <eClassifiers xsi:type="ecore:EClass" name="DefaultInterpretation" eSuperTypes="#//Interpretation"> 122 <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" eSuperTypes="#//Argument">
96 <eStructuralFeatures xsi:type="ecore:EReference" name="interpretation" eType="#//BasicInterpretation" 123 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
124 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"/>
125 </eClassifiers>
126 <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//Argument">
127 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
128 </eClassifiers>
129 <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression">
130 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//NamedElement"/>
131 </eClassifiers>
132 <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression">
133 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression"
97 containment="true"/> 134 containment="true"/>
135 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression"
136 containment="true"/>
137 </eClassifiers>
138 <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/>
139 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
140 <eLiterals name="TRUE" literal="true"/>
141 <eLiterals name="FALSE" value="1" literal="false"/>
142 <eLiterals name="UNKNOWN" value="2" literal="unknown"/>
143 <eLiterals name="ERROR" value="3" literal="error"/>
144 </eClassifiers>
145 <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal">
146 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
98 </eClassifiers> 147 </eClassifiers>
99 <eClassifiers xsi:type="ecore:EClass" name="CDInterpretation" eSuperTypes="#//Interpretation"/> 148 <eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Literal">
100 <eClassifiers xsi:type="ecore:EClass" name="ClassInterpretation" eSuperTypes="#//CDInterpretation"> 149 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
150 </eClassifiers>
151 <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/>
152 <eClassifiers xsi:type="ecore:EClass" name="EmptyIntervalLiteral" eSuperTypes="#//Literal"/>
153 <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
154 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
155 </eClassifiers>
156 <eClassifiers xsi:type="ecore:EClass" name="ClassDefinition" eSuperTypes="#//Statement">
101 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 157 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
102 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 158 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
103 containment="true"/> 159 <eStructuralFeatures xsi:type="ecore:EReference" name="superclasses" unique="false"
104 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" upperBound="-1" 160 upperBound="-1" eType="#//NamedElement"/>
105 eType="#//ModelSymbol" containment="true"/> 161 <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
106 <eStructuralFeatures xsi:type="ecore:EReference" name="fielt" upperBound="-1" 162 eType="#//MemberDefinition" containment="true"/>
107 eType="#//FieldRelationInterpretation" containment="true"/>
108 </eClassifiers> 163 </eClassifiers>
109 <eClassifiers xsi:type="ecore:EClass" name="EnumInterpretation" eSuperTypes="#//CDInterpretation"> 164 <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition">
110 <eStructuralFeatures xsi:type="ecore:EReference" name="Symbol" eType="#//ModelSymbol" 165 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
166 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
167 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
111 containment="true"/> 168 containment="true"/>
112 <eStructuralFeatures xsi:type="ecore:EReference" name="objects" upperBound="-1" 169 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
113 eType="#//NamedObject" containment="true"/> 170 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//NamedElement"/>
114 </eClassifiers> 171 </eClassifiers>
115 <eClassifiers xsi:type="ecore:EClass" name="FieldRelationInterpretation"> 172 <eClassifiers xsi:type="ecore:EClass" name="Multiplicity"/>
116 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 173 <eClassifiers xsi:type="ecore:EClass" name="ManyMultiplicity" eSuperTypes="#//Multiplicity"/>
117 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 174 <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity">
175 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
176 </eClassifiers>
177 <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity">
178 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
179 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
180 </eClassifiers>
181 <eClassifiers xsi:type="ecore:EClass" name="ScopeDefinition" eSuperTypes="#//Statement">
182 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
183 </eClassifiers>
184 <eClassifiers xsi:type="ecore:EClass" name="ExactScopeDefinition" eSuperTypes="#//ScopeDefinition">
185 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactScope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
186 </eClassifiers>
187 <eClassifiers xsi:type="ecore:EClass" name="BoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
188 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
189 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
190 </eClassifiers>
191 <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
192 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
193 </eClassifiers>
194 <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind">
195 <eLiterals name="MINIMIZE" literal="minimize"/>
196 <eLiterals name="MAXIMIZE" value="1" literal="maximize"/>
197 </eClassifiers>
198 <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDefinition" eSuperTypes="#//Statement">
199 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/>
200 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression"
118 containment="true"/> 201 containment="true"/>
119 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//MultiplicityDefinition" 202 </eClassifiers>
203 <eClassifiers xsi:type="ecore:EClass" name="NamedElement">
204 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
205 </eClassifiers>
206 <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement">
207 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
120 containment="true"/> 208 containment="true"/>
121 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" 209 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
122 containment="true"/> 210 containment="true"/>
123 </eClassifiers> 211 </eClassifiers>
124 <eClassifiers xsi:type="ecore:EClass" name="GlobalRelationInterpretation" eSuperTypes="#//CDInterpretation"> 212 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression">
125 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 213 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
126 <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//ModelSymbol" 214 eType="#//Expression" containment="true"/>
127 containment="true"/> 215 </eClassifiers>
128 <eStructuralFeatures xsi:type="ecore:EReference" name="sourceMultiplicity" eType="#//MultiplicityDefinition" 216 <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression">
217 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
218 eType="#//Case" containment="true"/>
219 </eClassifiers>
220 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Expression">
221 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
222 eType="#//Expression" containment="true"/>
223 </eClassifiers>
224 <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression">
225 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
129 containment="true"/> 226 containment="true"/>
130 <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Symbol" 227 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
228 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
131 containment="true"/> 229 containment="true"/>
132 <eStructuralFeatures xsi:type="ecore:EReference" name="targetMultiplicity" eType="#//MultiplicityDefinition" 230 </eClassifiers>
231 <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression">
232 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
133 containment="true"/> 233 containment="true"/>
134 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol" 234 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
235 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
135 containment="true"/> 236 containment="true"/>
136 </eClassifiers> 237 </eClassifiers>
137 <eClassifiers xsi:type="ecore:EClass" name="MultiplicityDefinition"> 238 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
138 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 239 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/>
139 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> 240 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
140 <eStructuralFeatures xsi:type="ecore:EAttribute" name="unlimitedUpper" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 241 containment="true"/>
141 </eClassifiers> 242 </eClassifiers>
142 <eClassifiers xsi:type="ecore:EClass" name="BooleanTrue" eSuperTypes="#//BooleanValue"/>
143 <eClassifiers xsi:type="ecore:EClass" name="BooleanFalse" eSuperTypes="#//BooleanValue"/>
144 <eClassifiers xsi:type="ecore:EClass" name="True" eSuperTypes="#//TruthValue"/>
145 <eClassifiers xsi:type="ecore:EClass" name="False" eSuperTypes="#//TruthValue"/>
146 <eClassifiers xsi:type="ecore:EClass" name="Unknown" eSuperTypes="#//TruthValue"/>
147 <eClassifiers xsi:type="ecore:EClass" name="Error" eSuperTypes="#//TruthValue"/>
148 <eClassifiers xsi:type="ecore:EClass" name="Positive" eSuperTypes="#//Polarity"/>
149 <eClassifiers xsi:type="ecore:EClass" name="Negative" eSuperTypes="#//Polarity"/>
150 <eClassifiers xsi:type="ecore:EClass" name="ReflexiveClosure" eSuperTypes="#//ClosureType"/>
151 <eClassifiers xsi:type="ecore:EClass" name="IrreflexiveClosure" eSuperTypes="#//ClosureType"/>
152</ecore:EPackage> 243</ecore:EPackage>
diff --git a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
index 1da7a172..53c17e2a 100644
--- a/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
+++ b/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.genmodel
@@ -1,127 +1,211 @@
1<?xml version="1.0" encoding="UTF-8"?> 1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" 2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.18.0.M3" modelDirectory="/org.eclipse.viatra.solver.language/src-gen" 3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.21.0" modelDirectory="/org.eclipse.viatra.solver.language/src-gen"
4 modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage" 4 modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage"
5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" 5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 complianceLevel="6.0" copyrightFields="false" runtimeVersion="2.18"> 6 complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20">
7 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language" 7 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language"
8 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/"> 8 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/">
9 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//MetricType">
10 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/INT"/>
11 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//MetricType/REAL"/>
12 </genEnums>
13 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator">
14 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/>
15 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/>
16 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS"/>
17 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS_EQ"/>
18 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER"/>
19 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER_EQ"/>
20 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IN"/>
21 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/ADD"/>
22 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/SUB"/>
23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/>
25 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/>
26 </genEnums>
27 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp">
28 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/>
29 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/PLUS"/>
30 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MINUS"/>
31 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MAY"/>
32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/>
33 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/>
34 </genEnums>
35 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//AggregationOp">
36 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/ONLY"/>
37 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/SUM"/>
38 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/PROD"/>
39 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/AVG"/>
40 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MIN"/>
41 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//AggregationOp/MAX"/>
42 </genEnums>
43 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue">
44 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/>
45 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/>
46 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/UNKNOWN"/>
47 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/ERROR"/>
48 </genEnums>
49 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//ObjectiveKind">
50 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/>
51 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/>
52 </genEnums>
9 <genClasses ecoreClass="SolverLanguage.ecore#//Problem"> 53 <genClasses ecoreClass="SolverLanguage.ecore#//Problem">
10 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/> 54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/>
11 </genClasses> 55 </genClasses>
12 <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/> 56 <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/>
13 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanValue"/> 57 <genClasses ecoreClass="SolverLanguage.ecore#//PredicateDefinition">
14 <genClasses ecoreClass="SolverLanguage.ecore#//TruthValue"/> 58 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/head"/>
15 <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation"/> 59 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/body"/>
16 <genClasses ecoreClass="SolverLanguage.ecore#//BasicInterpretation"> 60 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/functional"/>
17 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/symbol"/> 61 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/error"/>
18 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/objects"/> 62 </genClasses>
19 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BasicInterpretation/value"/> 63 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedErrorPrediateDefinition">
20 </genClasses> 64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/argumentList"/>
21 <genClasses ecoreClass="SolverLanguage.ecore#//Symbol"/> 65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/body"/>
22 <genClasses ecoreClass="SolverLanguage.ecore#//ModelSymbol"> 66 </genClasses>
23 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ModelSymbol/name"/> 67 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultDefinition">
24 </genClasses> 68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/>
25 <genClasses ecoreClass="SolverLanguage.ecore#//PartialitySymbol"/> 69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/>
26 <genClasses ecoreClass="SolverLanguage.ecore#//ExistSymbol"/> 70 </genClasses>
27 <genClasses ecoreClass="SolverLanguage.ecore#//EqualsSymbol"/> 71 <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition">
28 <genClasses ecoreClass="SolverLanguage.ecore#//DataSymbol"/> 72 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/head"/>
29 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanSymbol"/> 73 </genClasses>
30 <genClasses ecoreClass="SolverLanguage.ecore#//IntegerSymbol"/> 74 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition">
31 <genClasses ecoreClass="SolverLanguage.ecore#//RealSymbol"/> 75 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/>
32 <genClasses ecoreClass="SolverLanguage.ecore#//StringSymbol"/> 76 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/>
33 <genClasses ecoreClass="SolverLanguage.ecore#//ComplexObject"/> 77 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MetricDefinition/type"/>
34 <genClasses ecoreClass="SolverLanguage.ecore#//Object"/> 78 </genClasses>
35 <genClasses ecoreClass="SolverLanguage.ecore#//NamedObject"> 79 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition">
36 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedObject/name"/> 80 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/type"/>
37 </genClasses> 81 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/head"/>
38 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedObject"> 82 </genClasses>
39 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnnamedObject/name"/> 83 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/>
40 </genClasses> 84 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse">
41 <genClasses ecoreClass="SolverLanguage.ecore#//DataObject"/> 85 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/>
42 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanObject"> 86 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/>
43 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BooleanObject/value"/> 87 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/>
44 </genClasses> 88 </genClasses>
45 <genClasses ecoreClass="SolverLanguage.ecore#//IntObject"> 89 <genClasses ecoreClass="SolverLanguage.ecore#//Case">
46 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//IntObject/value"/> 90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/>
47 </genClasses> 91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/>
48 <genClasses ecoreClass="SolverLanguage.ecore#//RealObject"> 92 </genClasses>
49 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//RealObject/value"/> 93 <genClasses ecoreClass="SolverLanguage.ecore#//Count">
50 </genClasses> 94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Count/body"/>
51 <genClasses ecoreClass="SolverLanguage.ecore#//StringObject"> 95 </genClasses>
52 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringObject/value"/> 96 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation">
53 </genClasses> 97 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Aggregation/op"/>
54 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"> 98 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/>
55 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Predicate/isError"/> 99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/>
56 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/symbol"/> 100 </genClasses>
57 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/parameters"/> 101 <genClasses ecoreClass="SolverLanguage.ecore#//Call">
58 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Predicate/bodies"/> 102 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/functor"/>
59 </genClasses> 103 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/transitiveClosure"/>
60 <genClasses ecoreClass="SolverLanguage.ecore#//Parameter"> 104 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/reflexiveTransitiveClosure"/>
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/variable"/> 105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/argumentList"/>
62 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Parameter/type"/> 106 </genClasses>
63 </genClasses> 107 <genClasses ecoreClass="SolverLanguage.ecore#//ArgumentList">
64 <genClasses ecoreClass="SolverLanguage.ecore#//PatternBody"> 108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ArgumentList/arguments"/>
65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PatternBody/constraints"/> 109 </genClasses>
66 </genClasses> 110 <genClasses ecoreClass="SolverLanguage.ecore#//Argument"/>
67 <genClasses ecoreClass="SolverLanguage.ecore#//Polarity"/> 111 <genClasses ecoreClass="SolverLanguage.ecore#//ExpressionArgument">
68 <genClasses ecoreClass="SolverLanguage.ecore#//Constraint"> 112 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExpressionArgument/body"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/polarity"/> 113 </genClasses>
70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/symbol"/> 114 <genClasses ecoreClass="SolverLanguage.ecore#//StarArgument"/>
71 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/params"/> 115 <genClasses ecoreClass="SolverLanguage.ecore#//TypedArgument">
72 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Constraint/closureType"/> 116 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/type"/>
73 </genClasses> 117 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/variable"/>
74 <genClasses ecoreClass="SolverLanguage.ecore#//ClosureType"/> 118 </genClasses>
119 <genClasses ecoreClass="SolverLanguage.ecore#//TypedStarArgument">
120 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedStarArgument/type"/>
121 </genClasses>
122 <genClasses ecoreClass="SolverLanguage.ecore#//Reference">
123 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Reference/referred"/>
124 </genClasses>
125 <genClasses ecoreClass="SolverLanguage.ecore#//Interval">
126 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/lowerBound"/>
127 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/upperBound"/>
128 </genClasses>
75 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/> 129 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/>
76 <genClasses ecoreClass="SolverLanguage.ecore#//Variable"> 130 <genClasses ecoreClass="SolverLanguage.ecore#//LogicLiteral">
77 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Variable/name"/> 131 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LogicLiteral/value"/>
78 </genClasses> 132 </genClasses>
79 <genClasses ecoreClass="SolverLanguage.ecore#//AllInstances"> 133 <genClasses ecoreClass="SolverLanguage.ecore#//NumericLiteral">
80 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//AllInstances/symbol"/> 134 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NumericLiteral/value"/>
81 </genClasses> 135 </genClasses>
82 <genClasses ecoreClass="SolverLanguage.ecore#//AllObjects"/> 136 <genClasses ecoreClass="SolverLanguage.ecore#//InfinityLiteral"/>
83 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultInterpretation"> 137 <genClasses ecoreClass="SolverLanguage.ecore#//EmptyIntervalLiteral"/>
84 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultInterpretation/interpretation"/> 138 <genClasses ecoreClass="SolverLanguage.ecore#//StringLiteral">
85 </genClasses> 139 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringLiteral/value"/>
86 <genClasses ecoreClass="SolverLanguage.ecore#//CDInterpretation"/> 140 </genClasses>
87 <genClasses ecoreClass="SolverLanguage.ecore#//ClassInterpretation"> 141 <genClasses ecoreClass="SolverLanguage.ecore#//ClassDefinition">
88 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassInterpretation/abstract"/> 142 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/abstract"/>
89 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/symbol"/> 143 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/name"/>
90 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/supertypes"/> 144 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/superclasses"/>
91 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassInterpretation/fielt"/> 145 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/members"/>
92 </genClasses> 146 </genClasses>
93 <genClasses ecoreClass="SolverLanguage.ecore#//EnumInterpretation"> 147 <genClasses ecoreClass="SolverLanguage.ecore#//MemberDefinition">
94 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/Symbol"/> 148 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/containment"/>
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//EnumInterpretation/objects"/> 149 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/type"/>
96 </genClasses> 150 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/multiplicity"/>
97 <genClasses ecoreClass="SolverLanguage.ecore#//FieldRelationInterpretation"> 151 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/name"/>
98 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//FieldRelationInterpretation/containment"/> 152 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/opposite"/>
99 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/symbol"/> 153 </genClasses>
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/multiplicity"/> 154 <genClasses ecoreClass="SolverLanguage.ecore#//Multiplicity"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//FieldRelationInterpretation/target"/> 155 <genClasses ecoreClass="SolverLanguage.ecore#//ManyMultiplicity"/>
102 </genClasses> 156 <genClasses ecoreClass="SolverLanguage.ecore#//ExactMultiplicity">
103 <genClasses ecoreClass="SolverLanguage.ecore#//GlobalRelationInterpretation"> 157 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactMultiplicity/multiplicity"/>
104 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//GlobalRelationInterpretation/containment"/> 158 </genClasses>
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/symbol"/> 159 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedMultiplicity">
106 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/sourceMultiplicity"/> 160 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/lowerBound"/>
107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/source"/> 161 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/upperBound"/>
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/targetMultiplicity"/> 162 </genClasses>
109 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//GlobalRelationInterpretation/target"/> 163 <genClasses ecoreClass="SolverLanguage.ecore#//ScopeDefinition">
110 </genClasses> 164 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ScopeDefinition/type"/>
111 <genClasses ecoreClass="SolverLanguage.ecore#//MultiplicityDefinition"> 165 </genClasses>
112 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/lower"/> 166 <genClasses ecoreClass="SolverLanguage.ecore#//ExactScopeDefinition">
113 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/upper"/> 167 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactScopeDefinition/exactScope"/>
114 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MultiplicityDefinition/unlimitedUpper"/> 168 </genClasses>
115 </genClasses> 169 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedScopeDefinition">
116 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanTrue"/> 170 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/lowerBound"/>
117 <genClasses ecoreClass="SolverLanguage.ecore#//BooleanFalse"/> 171 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/upperBound"/>
118 <genClasses ecoreClass="SolverLanguage.ecore#//True"/> 172 </genClasses>
119 <genClasses ecoreClass="SolverLanguage.ecore#//False"/> 173 <genClasses ecoreClass="SolverLanguage.ecore#//LowerBoundedScopeDefinition">
120 <genClasses ecoreClass="SolverLanguage.ecore#//Unknown"/> 174 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LowerBoundedScopeDefinition/lowerBound"/>
121 <genClasses ecoreClass="SolverLanguage.ecore#//Error"/> 175 </genClasses>
122 <genClasses ecoreClass="SolverLanguage.ecore#//Positive"/> 176 <genClasses ecoreClass="SolverLanguage.ecore#//ObjectiveDefinition">
123 <genClasses ecoreClass="SolverLanguage.ecore#//Negative"/> 177 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/>
124 <genClasses ecoreClass="SolverLanguage.ecore#//ReflexiveClosure"/> 178 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/>
125 <genClasses ecoreClass="SolverLanguage.ecore#//IrreflexiveClosure"/> 179 </genClasses>
180 <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement">
181 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/>
182 </genClasses>
183 <genClasses ecoreClass="SolverLanguage.ecore#//Assertion">
184 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/body"/>
185 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Assertion/range"/>
186 </genClasses>
187 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction">
188 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/>
189 </genClasses>
190 <genClasses ecoreClass="SolverLanguage.ecore#//Switch">
191 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Switch/cases"/>
192 </genClasses>
193 <genClasses ecoreClass="SolverLanguage.ecore#//Conjunction">
194 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Conjunction/children"/>
195 </genClasses>
196 <genClasses ecoreClass="SolverLanguage.ecore#//Comparison">
197 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/left"/>
198 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Comparison/op"/>
199 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/right"/>
200 </genClasses>
201 <genClasses ecoreClass="SolverLanguage.ecore#//BinaryExpression">
202 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/left"/>
203 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/>
204 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/>
205 </genClasses>
206 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression">
207 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/>
208 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/>
209 </genClasses>
126 </genPackages> 210 </genPackages>
127</genmodel:GenModel> 211</genmodel:GenModel>