aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/model
diff options
context:
space:
mode:
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language/model')
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore291
-rw-r--r--Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel249
2 files changed, 0 insertions, 540 deletions
diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
deleted file mode 100644
index 905e5a90..00000000
--- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.ecore
+++ /dev/null
@@ -1,291 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="solverLanguage" nsURI="http://www.eclipse.org/viatra/solver/language/SolverLanguage"
4 nsPrefix="solverLanguage">
5 <eClassifiers xsi:type="ecore:EClass" name="Problem">
6 <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1"
7 eType="#//Statement" containment="true"/>
8 </eClassifiers>
9 <eClassifiers xsi:type="ecore:EClass" name="Statement"/>
10 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Statement">
11 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
12 containment="true"/>
13 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
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"/>
17 </eClassifiers>
18 <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPrediateDefinition" eSuperTypes="#//Statement">
19 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
20 containment="true"/>
21 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
22 containment="true"/>
23 </eClassifiers>
24 <eClassifiers xsi:type="ecore:EClass" name="DefaultDefinition" eSuperTypes="#//Statement">
25 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Call" containment="true"/>
26 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
27 containment="true"/>
28 </eClassifiers>
29 <eClassifiers xsi:type="ecore:EClass" name="MetricDefinition" eSuperTypes="#//Statement">
30 <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression"
31 containment="true"/>
32 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
33 containment="true"/>
34 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
35 </eClassifiers>
36 <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDefinition" eSuperTypes="#//Statement">
37 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
38 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
39 containment="true"/>
40 </eClassifiers>
41 <eClassifiers xsi:type="ecore:EClass" name="ExternMetricDefinition" eSuperTypes="#//Statement">
42 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
43 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
44 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
45 containment="true"/>
46 </eClassifiers>
47 <eClassifiers xsi:type="ecore:EClass" name="ExternAggregatorDefinition" eSuperTypes="#//Statement">
48 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
49 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
50 <eStructuralFeatures xsi:type="ecore:EReference" name="inputType" eType="#//NamedElement"/>
51 </eClassifiers>
52 <eClassifiers xsi:type="ecore:EClass" name="ExternDatatypeDefinition" eSuperTypes="#//Statement">
53 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
54 <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" unique="false"
55 upperBound="-1" eType="#//NamedElement"/>
56 </eClassifiers>
57 <eClassifiers xsi:type="ecore:EClass" name="NamedElement">
58 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
59 </eClassifiers>
60 <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//Statement"/>
61 <eClassifiers xsi:type="ecore:EClass" name="IfElse" eSuperTypes="#//Expression">
62 <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression"
63 containment="true"/>
64 <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression"
65 containment="true"/>
66 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
67 containment="true"/>
68 </eClassifiers>
69 <eClassifiers xsi:type="ecore:EClass" name="Let" eSuperTypes="#//Expression">
70 <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1"
71 eType="#//LetBinding" containment="true"/>
72 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
73 containment="true"/>
74 </eClassifiers>
75 <eClassifiers xsi:type="ecore:EClass" name="LetBinding">
76 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"
77 containment="true"/>
78 <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression"
79 containment="true"/>
80 </eClassifiers>
81 <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression">
82 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
83 containment="true"/>
84 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
85 containment="true"/>
86 </eClassifiers>
87 <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator">
88 <eLiterals name="EQ" literal="EQ"/>
89 <eLiterals name="NOT_EQ" value="1" literal="NOT_EQ"/>
90 <eLiterals name="LESS" value="2" literal="LESS"/>
91 <eLiterals name="LESS_EQ" value="3" literal="LESS_EQ"/>
92 <eLiterals name="GREATER" value="4" literal="GREATER"/>
93 <eLiterals name="GREATER_EQ" value="5" literal="GREATER_EQ"/>
94 <eLiterals name="IN" value="6" literal="IN"/>
95 <eLiterals name="ADD" value="7" literal="ADD"/>
96 <eLiterals name="SUB" value="8" literal="SUB"/>
97 <eLiterals name="MUL" value="9" literal="MUL"/>
98 <eLiterals name="DIV" value="10" literal="DIV"/>
99 <eLiterals name="POW" value="11" literal="POW"/>
100 <eLiterals name="IMPLIES" value="12"/>
101 </eClassifiers>
102 <eClassifiers xsi:type="ecore:EEnum" name="UnaryOp">
103 <eLiterals name="NEG" literal="!"/>
104 <eLiterals name="PLUS" value="1" literal="+"/>
105 <eLiterals name="MINUS" value="2" literal="-"/>
106 <eLiterals name="MAY" value="3" literal="may"/>
107 <eLiterals name="MUST" value="4" literal="must"/>
108 <eLiterals name="CURRENT" value="5" literal="current"/>
109 </eClassifiers>
110 <eClassifiers xsi:type="ecore:EClass" name="LocalVariables">
111 <eStructuralFeatures xsi:type="ecore:EReference" name="variables" upperBound="-1"
112 eType="#//NamedElement" containment="true"/>
113 </eClassifiers>
114 <eClassifiers xsi:type="ecore:EClass" name="QuantifiedExpression" eSuperTypes="#//Expression">
115 <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables"
116 containment="true"/>
117 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
118 containment="true"/>
119 <eStructuralFeatures xsi:type="ecore:EAttribute" name="quantifier" eType="#//Quantifier"/>
120 </eClassifiers>
121 <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//Expression">
122 <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//NamedElement"/>
123 <eStructuralFeatures xsi:type="ecore:EReference" name="localVariables" eType="#//LocalVariables"
124 containment="true"/>
125 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
126 containment="true"/>
127 <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression"
128 containment="true"/>
129 </eClassifiers>
130 <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression">
131 <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference"
132 containment="true"/>
133 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
134 <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure"
135 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
136 <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList"
137 containment="true"/>
138 </eClassifiers>
139 <eClassifiers xsi:type="ecore:EClass" name="ArgumentList">
140 <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
141 eType="#//Argument" containment="true"/>
142 </eClassifiers>
143 <eClassifiers xsi:type="ecore:EClass" name="Argument"/>
144 <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument">
145 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
146 containment="true"/>
147 </eClassifiers>
148 <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/>
149 <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" eSuperTypes="#//Argument">
150 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
151 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NamedElement"/>
152 </eClassifiers>
153 <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//Argument">
154 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
155 </eClassifiers>
156 <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression">
157 <eStructuralFeatures xsi:type="ecore:EReference" name="referred" eType="#//NamedElement"/>
158 </eClassifiers>
159 <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression">
160 <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression"
161 containment="true"/>
162 <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression"
163 containment="true"/>
164 </eClassifiers>
165 <eClassifiers xsi:type="ecore:EClass" name="Literal" eSuperTypes="#//Expression"/>
166 <eClassifiers xsi:type="ecore:EEnum" name="LogicValue">
167 <eLiterals name="TRUE" literal="true"/>
168 <eLiterals name="FALSE" value="1" literal="false"/>
169 <eLiterals name="UNKNOWN" value="2" literal="unknown"/>
170 <eLiterals name="ERROR" value="3" literal="error"/>
171 </eClassifiers>
172 <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal">
173 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
174 </eClassifiers>
175 <eClassifiers xsi:type="ecore:EClass" name="NumericLiteral" eSuperTypes="#//Literal">
176 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
177 </eClassifiers>
178 <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/>
179 <eClassifiers xsi:type="ecore:EClass" name="EmptyIntervalLiteral" eSuperTypes="#//Literal"/>
180 <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal">
181 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
182 </eClassifiers>
183 <eClassifiers xsi:type="ecore:EClass" name="ClassDefinition" eSuperTypes="#//Statement">
184 <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
185 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
186 <eStructuralFeatures xsi:type="ecore:EReference" name="superclasses" unique="false"
187 upperBound="-1" eType="#//NamedElement"/>
188 <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1"
189 eType="#//MemberDefinition" containment="true"/>
190 </eClassifiers>
191 <eClassifiers xsi:type="ecore:EClass" name="MemberDefinition">
192 <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
193 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
194 <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity"
195 containment="true"/>
196 <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
197 <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//NamedElement"/>
198 </eClassifiers>
199 <eClassifiers xsi:type="ecore:EClass" name="Multiplicity"/>
200 <eClassifiers xsi:type="ecore:EClass" name="ManyMultiplicity" eSuperTypes="#//Multiplicity"/>
201 <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity">
202 <eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplicity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
203 </eClassifiers>
204 <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity">
205 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
206 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
207 </eClassifiers>
208 <eClassifiers xsi:type="ecore:EClass" name="ScopeDefinition" eSuperTypes="#//Statement">
209 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
210 </eClassifiers>
211 <eClassifiers xsi:type="ecore:EClass" name="ExactScopeDefinition" eSuperTypes="#//ScopeDefinition">
212 <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactScope" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
213 </eClassifiers>
214 <eClassifiers xsi:type="ecore:EClass" name="BoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
215 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
216 <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
217 </eClassifiers>
218 <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScopeDefinition" eSuperTypes="#//ScopeDefinition">
219 <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
220 </eClassifiers>
221 <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind">
222 <eLiterals name="MINIMIZE" literal="minimize"/>
223 <eLiterals name="MAXIMIZE" value="1" literal="maximize"/>
224 </eClassifiers>
225 <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDefinition" eSuperTypes="#//Statement">
226 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/>
227 <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression"
228 containment="true"/>
229 </eClassifiers>
230 <eClassifiers xsi:type="ecore:EClass" name="Interpretation" eSuperTypes="#//Statement">
231 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
232 containment="true"/>
233 <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression"
234 containment="true"/>
235 </eClassifiers>
236 <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//NamedElement">
237 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
238 </eClassifiers>
239 <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//Expression">
240 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
241 eType="#//Expression" containment="true"/>
242 </eClassifiers>
243 <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression">
244 <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1"
245 eType="#//Case" containment="true"/>
246 </eClassifiers>
247 <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Expression">
248 <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
249 eType="#//Expression" containment="true"/>
250 </eClassifiers>
251 <eClassifiers xsi:type="ecore:EClass" name="Comparison" eSuperTypes="#//Expression">
252 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
253 containment="true"/>
254 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
255 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
256 containment="true"/>
257 </eClassifiers>
258 <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression">
259 <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression"
260 containment="true"/>
261 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/>
262 <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression"
263 containment="true"/>
264 </eClassifiers>
265 <eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression">
266 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
267 containment="true"/>
268 <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//NamedElement"/>
269 </eClassifiers>
270 <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression">
271 <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/>
272 <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression"
273 containment="true"/>
274 </eClassifiers>
275 <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//NamedElement">
276 <eStructuralFeatures xsi:type="ecore:EAttribute" name="withId" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
277 </eClassifiers>
278 <eClassifiers xsi:type="ecore:EClass" name="Functor" abstract="true" eSuperTypes="#//NamedElement">
279 <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1"
280 eType="#//Variable"/>
281 </eClassifiers>
282 <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Functor"/>
283 <eClassifiers xsi:type="ecore:EClass" name="Metric" eSuperTypes="#//Functor">
284 <eStructuralFeatures xsi:type="ecore:EReference" name="returnType" eType="#//NamedElement"/>
285 </eClassifiers>
286 <eClassifiers xsi:type="ecore:EEnum" name="Quantifier">
287 <eLiterals name="EXISTS"/>
288 <eLiterals name="FORALL" value="1"/>
289 <eLiterals name="COUNT" value="2"/>
290 </eClassifiers>
291</ecore:EPackage>
diff --git a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel b/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
deleted file mode 100644
index 2325d668..00000000
--- a/Application/org.eclipse.viatra.solver.language/model/SolverLanguage.genmodel
+++ /dev/null
@@ -1,249 +0,0 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
3 xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.21.0" modelDirectory="/org.eclipse.viatra.solver.language/ecore-gen"
4 modelPluginID="org.eclipse.viatra.solver.language" forceOverwrite="true" modelName="SolverLanguage"
5 updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
6 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
7 runtimeVersion="2.20">
8 <foreignModel>SolverLanguage.ecore</foreignModel>
9 <genPackages prefix="SolverLanguage" basePackage="org.eclipse.viatra.solver.language"
10 disposableProviderFactory="true" fileExtensions="vsc" ecorePackage="SolverLanguage.ecore#/">
11 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//BinaryOperator">
12 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/EQ"/>
13 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/NOT_EQ"/>
14 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS"/>
15 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/LESS_EQ"/>
16 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER"/>
17 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/GREATER_EQ"/>
18 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IN"/>
19 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/ADD"/>
20 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/SUB"/>
21 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/MUL"/>
22 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/DIV"/>
23 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/POW"/>
24 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//BinaryOperator/IMPLIES"/>
25 </genEnums>
26 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//UnaryOp">
27 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/NEG"/>
28 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/PLUS"/>
29 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MINUS"/>
30 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MAY"/>
31 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/MUST"/>
32 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//UnaryOp/CURRENT"/>
33 </genEnums>
34 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//LogicValue">
35 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/TRUE"/>
36 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/FALSE"/>
37 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/UNKNOWN"/>
38 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//LogicValue/ERROR"/>
39 </genEnums>
40 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//ObjectiveKind">
41 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MINIMIZE"/>
42 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//ObjectiveKind/MAXIMIZE"/>
43 </genEnums>
44 <genEnums typeSafeEnumCompatible="false" ecoreEnum="SolverLanguage.ecore#//Quantifier">
45 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/EXISTS"/>
46 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/FORALL"/>
47 <genEnumLiterals ecoreEnumLiteral="SolverLanguage.ecore#//Quantifier/COUNT"/>
48 </genEnums>
49 <genClasses ecoreClass="SolverLanguage.ecore#//Problem">
50 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Problem/statements"/>
51 </genClasses>
52 <genClasses ecoreClass="SolverLanguage.ecore#//Statement"/>
53 <genClasses ecoreClass="SolverLanguage.ecore#//PredicateDefinition">
54 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/head"/>
55 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//PredicateDefinition/body"/>
56 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/functional"/>
57 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//PredicateDefinition/error"/>
58 </genClasses>
59 <genClasses ecoreClass="SolverLanguage.ecore#//UnnamedErrorPrediateDefinition">
60 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/argumentList"/>
61 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnnamedErrorPrediateDefinition/body"/>
62 </genClasses>
63 <genClasses ecoreClass="SolverLanguage.ecore#//DefaultDefinition">
64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/head"/>
65 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//DefaultDefinition/range"/>
66 </genClasses>
67 <genClasses ecoreClass="SolverLanguage.ecore#//MetricDefinition">
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/head"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/body"/>
70 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MetricDefinition/type"/>
71 </genClasses>
72 <genClasses ecoreClass="SolverLanguage.ecore#//ExternPredicateDefinition">
73 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternPredicateDefinition/name"/>
74 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternPredicateDefinition/argumentList"/>
75 </genClasses>
76 <genClasses ecoreClass="SolverLanguage.ecore#//ExternMetricDefinition">
77 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/type"/>
78 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternMetricDefinition/name"/>
79 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternMetricDefinition/argumentList"/>
80 </genClasses>
81 <genClasses ecoreClass="SolverLanguage.ecore#//ExternAggregatorDefinition">
82 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/type"/>
83 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternAggregatorDefinition/name"/>
84 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternAggregatorDefinition/inputType"/>
85 </genClasses>
86 <genClasses ecoreClass="SolverLanguage.ecore#//ExternDatatypeDefinition">
87 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExternDatatypeDefinition/name"/>
88 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExternDatatypeDefinition/supertypes"/>
89 </genClasses>
90 <genClasses ecoreClass="SolverLanguage.ecore#//NamedElement">
91 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NamedElement/name"/>
92 </genClasses>
93 <genClasses ecoreClass="SolverLanguage.ecore#//Expression"/>
94 <genClasses ecoreClass="SolverLanguage.ecore#//IfElse">
95 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/then"/>
96 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/else"/>
97 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//IfElse/condition"/>
98 </genClasses>
99 <genClasses ecoreClass="SolverLanguage.ecore#//Let">
100 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/bindings"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Let/body"/>
102 </genClasses>
103 <genClasses ecoreClass="SolverLanguage.ecore#//LetBinding">
104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/variable"/>
105 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LetBinding/value"/>
106 </genClasses>
107 <genClasses ecoreClass="SolverLanguage.ecore#//Case">
108 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/body"/>
109 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Case/condition"/>
110 </genClasses>
111 <genClasses ecoreClass="SolverLanguage.ecore#//LocalVariables">
112 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//LocalVariables/variables"/>
113 </genClasses>
114 <genClasses ecoreClass="SolverLanguage.ecore#//QuantifiedExpression">
115 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/localVariables"/>
116 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//QuantifiedExpression/body"/>
117 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//QuantifiedExpression/quantifier"/>
118 </genClasses>
119 <genClasses ecoreClass="SolverLanguage.ecore#//Aggregation">
120 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/op"/>
121 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/localVariables"/>
122 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/body"/>
123 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Aggregation/condition"/>
124 </genClasses>
125 <genClasses ecoreClass="SolverLanguage.ecore#//Call">
126 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/functor"/>
127 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/transitiveClosure"/>
128 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Call/reflexiveTransitiveClosure"/>
129 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Call/argumentList"/>
130 </genClasses>
131 <genClasses ecoreClass="SolverLanguage.ecore#//ArgumentList">
132 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ArgumentList/arguments"/>
133 </genClasses>
134 <genClasses ecoreClass="SolverLanguage.ecore#//Argument"/>
135 <genClasses ecoreClass="SolverLanguage.ecore#//ExpressionArgument">
136 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ExpressionArgument/body"/>
137 </genClasses>
138 <genClasses ecoreClass="SolverLanguage.ecore#//StarArgument"/>
139 <genClasses ecoreClass="SolverLanguage.ecore#//TypedArgument">
140 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/type"/>
141 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedArgument/variable"/>
142 </genClasses>
143 <genClasses ecoreClass="SolverLanguage.ecore#//TypedStarArgument">
144 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//TypedStarArgument/type"/>
145 </genClasses>
146 <genClasses ecoreClass="SolverLanguage.ecore#//Reference">
147 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Reference/referred"/>
148 </genClasses>
149 <genClasses ecoreClass="SolverLanguage.ecore#//Interval">
150 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/lowerBound"/>
151 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interval/upperBound"/>
152 </genClasses>
153 <genClasses ecoreClass="SolverLanguage.ecore#//Literal"/>
154 <genClasses ecoreClass="SolverLanguage.ecore#//LogicLiteral">
155 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LogicLiteral/value"/>
156 </genClasses>
157 <genClasses ecoreClass="SolverLanguage.ecore#//NumericLiteral">
158 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//NumericLiteral/value"/>
159 </genClasses>
160 <genClasses ecoreClass="SolverLanguage.ecore#//InfinityLiteral"/>
161 <genClasses ecoreClass="SolverLanguage.ecore#//EmptyIntervalLiteral"/>
162 <genClasses ecoreClass="SolverLanguage.ecore#//StringLiteral">
163 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//StringLiteral/value"/>
164 </genClasses>
165 <genClasses ecoreClass="SolverLanguage.ecore#//ClassDefinition">
166 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/abstract"/>
167 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ClassDefinition/name"/>
168 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/superclasses"/>
169 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ClassDefinition/members"/>
170 </genClasses>
171 <genClasses ecoreClass="SolverLanguage.ecore#//MemberDefinition">
172 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/containment"/>
173 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/type"/>
174 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/multiplicity"/>
175 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//MemberDefinition/name"/>
176 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//MemberDefinition/opposite"/>
177 </genClasses>
178 <genClasses ecoreClass="SolverLanguage.ecore#//Multiplicity"/>
179 <genClasses ecoreClass="SolverLanguage.ecore#//ManyMultiplicity"/>
180 <genClasses ecoreClass="SolverLanguage.ecore#//ExactMultiplicity">
181 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactMultiplicity/multiplicity"/>
182 </genClasses>
183 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedMultiplicity">
184 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/lowerBound"/>
185 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedMultiplicity/upperBound"/>
186 </genClasses>
187 <genClasses ecoreClass="SolverLanguage.ecore#//ScopeDefinition">
188 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ScopeDefinition/type"/>
189 </genClasses>
190 <genClasses ecoreClass="SolverLanguage.ecore#//ExactScopeDefinition">
191 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ExactScopeDefinition/exactScope"/>
192 </genClasses>
193 <genClasses ecoreClass="SolverLanguage.ecore#//BoundedScopeDefinition">
194 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/lowerBound"/>
195 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BoundedScopeDefinition/upperBound"/>
196 </genClasses>
197 <genClasses ecoreClass="SolverLanguage.ecore#//LowerBoundedScopeDefinition">
198 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//LowerBoundedScopeDefinition/lowerBound"/>
199 </genClasses>
200 <genClasses ecoreClass="SolverLanguage.ecore#//ObjectiveDefinition">
201 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//ObjectiveDefinition/kind"/>
202 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//ObjectiveDefinition/objective"/>
203 </genClasses>
204 <genClasses ecoreClass="SolverLanguage.ecore#//Interpretation">
205 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/body"/>
206 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Interpretation/range"/>
207 </genClasses>
208 <genClasses ecoreClass="SolverLanguage.ecore#//Variable">
209 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Variable/type"/>
210 </genClasses>
211 <genClasses ecoreClass="SolverLanguage.ecore#//Disjunction">
212 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Disjunction/children"/>
213 </genClasses>
214 <genClasses ecoreClass="SolverLanguage.ecore#//Switch">
215 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Switch/cases"/>
216 </genClasses>
217 <genClasses ecoreClass="SolverLanguage.ecore#//Conjunction">
218 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Conjunction/children"/>
219 </genClasses>
220 <genClasses ecoreClass="SolverLanguage.ecore#//Comparison">
221 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/left"/>
222 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Comparison/op"/>
223 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Comparison/right"/>
224 </genClasses>
225 <genClasses ecoreClass="SolverLanguage.ecore#//BinaryExpression">
226 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/left"/>
227 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//BinaryExpression/op"/>
228 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//BinaryExpression/right"/>
229 </genClasses>
230 <genClasses ecoreClass="SolverLanguage.ecore#//CastExpression">
231 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/body"/>
232 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//CastExpression/type"/>
233 </genClasses>
234 <genClasses ecoreClass="SolverLanguage.ecore#//UnaryExpression">
235 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//UnaryExpression/op"/>
236 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//UnaryExpression/body"/>
237 </genClasses>
238 <genClasses ecoreClass="SolverLanguage.ecore#//Node">
239 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute SolverLanguage.ecore#//Node/withId"/>
240 </genClasses>
241 <genClasses image="false" ecoreClass="SolverLanguage.ecore#//Functor">
242 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Functor/parameters"/>
243 </genClasses>
244 <genClasses ecoreClass="SolverLanguage.ecore#//Predicate"/>
245 <genClasses ecoreClass="SolverLanguage.ecore#//Metric">
246 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SolverLanguage.ecore#//Metric/returnType"/>
247 </genClasses>
248 </genPackages>
249</genmodel:GenModel>