diff options
Diffstat (limited to 'Application/org.eclipse.viatra.solver.language.model/model/model.ecore')
-rw-r--r-- | Application/org.eclipse.viatra.solver.language.model/model/model.ecore | 327 |
1 files changed, 327 insertions, 0 deletions
diff --git a/Application/org.eclipse.viatra.solver.language.model/model/model.ecore b/Application/org.eclipse.viatra.solver.language.model/model/model.ecore new file mode 100644 index 00000000..f5e6a91e --- /dev/null +++ b/Application/org.eclipse.viatra.solver.language.model/model/model.ecore | |||
@@ -0,0 +1,327 @@ | |||
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="PathComponent"> | ||
6 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbol" eType="#//Symbol"/> | ||
7 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="inverse" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
8 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
9 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="reflexiveTransitiveClosure" | ||
10 | eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
11 | </eClassifiers> | ||
12 | <eClassifiers xsi:type="ecore:EClass" name="Symbol" abstract="true"> | ||
13 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
14 | </eClassifiers> | ||
15 | <eClassifiers xsi:type="ecore:EClass" name="Call" eSuperTypes="#//Expression"> | ||
16 | <eStructuralFeatures xsi:type="ecore:EReference" name="functor" eType="#//Reference" | ||
17 | containment="true"/> | ||
18 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
19 | containment="true"/> | ||
20 | </eClassifiers> | ||
21 | <eClassifiers xsi:type="ecore:EClass" name="Reference" eSuperTypes="#//Expression"> | ||
22 | <eStructuralFeatures xsi:type="ecore:EReference" name="components" upperBound="-1" | ||
23 | eType="#//PathComponent" containment="true"/> | ||
24 | </eClassifiers> | ||
25 | <eClassifiers xsi:type="ecore:EClass" name="Expression" abstract="true" eSuperTypes="#//Statement"> | ||
26 | <eStructuralFeatures xsi:type="ecore:EReference" name="existsVariables" upperBound="-1" | ||
27 | eType="#//Variable" transient="true" containment="true"/> | ||
28 | </eClassifiers> | ||
29 | <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true"/> | ||
30 | <eClassifiers xsi:type="ecore:EClass" name="ArgumentList"> | ||
31 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
32 | eType="#//Argument" containment="true"/> | ||
33 | </eClassifiers> | ||
34 | <eClassifiers xsi:type="ecore:EClass" name="ExpressionArgument" eSuperTypes="#//Argument"> | ||
35 | <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression" | ||
36 | containment="true"/> | ||
37 | </eClassifiers> | ||
38 | <eClassifiers xsi:type="ecore:EClass" name="StarArgument" eSuperTypes="#//Argument"/> | ||
39 | <eClassifiers xsi:type="ecore:EClass" name="TypedArgument" abstract="true" eSuperTypes="#//Argument"> | ||
40 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeReference" eType="#//TypeReference" | ||
41 | containment="true"/> | ||
42 | </eClassifiers> | ||
43 | <eClassifiers xsi:type="ecore:EClass" name="MultiaryExpession" abstract="true" eSuperTypes="#//Expression"> | ||
44 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" | ||
45 | eType="#//Expression" containment="true"/> | ||
46 | </eClassifiers> | ||
47 | <eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//Symbol"> | ||
48 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeReference" eType="#//TypeReference" | ||
49 | containment="true"/> | ||
50 | </eClassifiers> | ||
51 | <eClassifiers xsi:type="ecore:EClass" name="UnaryExpression" eSuperTypes="#//Expression"> | ||
52 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
53 | containment="true"/> | ||
54 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOperator"/> | ||
55 | </eClassifiers> | ||
56 | <eClassifiers xsi:type="ecore:EClass" name="BinaryExpression" eSuperTypes="#//Expression"> | ||
57 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//BinaryOperator"/> | ||
58 | <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//Expression" | ||
59 | containment="true"/> | ||
60 | <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Expression" | ||
61 | containment="true"/> | ||
62 | </eClassifiers> | ||
63 | <eClassifiers xsi:type="ecore:EClass" name="Disjunction" eSuperTypes="#//MultiaryExpession"/> | ||
64 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//MultiaryExpession"/> | ||
65 | <eClassifiers xsi:type="ecore:EEnum" name="UnaryOperator"> | ||
66 | <eLiterals name="NOT"/> | ||
67 | <eLiterals name="PLUS" value="1"/> | ||
68 | <eLiterals name="MINUS" value="2"/> | ||
69 | <eLiterals name="MAYBE" value="3"/> | ||
70 | </eClassifiers> | ||
71 | <eClassifiers xsi:type="ecore:EEnum" name="BinaryOperator"> | ||
72 | <eLiterals name="PLUS"/> | ||
73 | <eLiterals name="MINUS" value="1"/> | ||
74 | <eLiterals name="MULTIPLY" value="2"/> | ||
75 | <eLiterals name="DIVIDE" value="3"/> | ||
76 | <eLiterals name="POW" value="4"/> | ||
77 | <eLiterals name="IN" value="5"/> | ||
78 | <eLiterals name="EQUALS" value="6"/> | ||
79 | <eLiterals name="NOT_EQUALS" value="7"/> | ||
80 | <eLiterals name="LESS" value="8"/> | ||
81 | <eLiterals name="LESS_EQUALS" value="9"/> | ||
82 | <eLiterals name="GREATER" value="10"/> | ||
83 | <eLiterals name="GREATER_EQUALS" value="11"/> | ||
84 | </eClassifiers> | ||
85 | <eClassifiers xsi:type="ecore:EClass" name="ConditionalExpression" eSuperTypes="#//Expression"> | ||
86 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
87 | containment="true"/> | ||
88 | <eStructuralFeatures xsi:type="ecore:EReference" name="then" eType="#//Expression" | ||
89 | containment="true"/> | ||
90 | <eStructuralFeatures xsi:type="ecore:EReference" name="else" eType="#//Expression" | ||
91 | containment="true"/> | ||
92 | </eClassifiers> | ||
93 | <eClassifiers xsi:type="ecore:EClass" name="Switch" eSuperTypes="#//Expression"> | ||
94 | <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1" | ||
95 | eType="#//Case" containment="true"/> | ||
96 | </eClassifiers> | ||
97 | <eClassifiers xsi:type="ecore:EClass" name="Case" eSuperTypes="#//Expression"> | ||
98 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
99 | containment="true"/> | ||
100 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
101 | containment="true"/> | ||
102 | </eClassifiers> | ||
103 | <eClassifiers xsi:type="ecore:EClass" name="LetExpression" eSuperTypes="#//Expression"> | ||
104 | <eStructuralFeatures xsi:type="ecore:EReference" name="bindings" upperBound="-1" | ||
105 | eType="#//LetBinding" containment="true"/> | ||
106 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
107 | containment="true"/> | ||
108 | </eClassifiers> | ||
109 | <eClassifiers xsi:type="ecore:EClass" name="LetBinding"> | ||
110 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression" | ||
111 | containment="true"/> | ||
112 | <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//Variable" | ||
113 | transient="true" containment="true"/> | ||
114 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
115 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol"/> | ||
116 | </eClassifiers> | ||
117 | <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true" eSuperTypes="#//Expression"/> | ||
118 | <eClassifiers xsi:type="ecore:EClass" name="IntLiteral" eSuperTypes="#//Literal"> | ||
119 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
120 | </eClassifiers> | ||
121 | <eClassifiers xsi:type="ecore:EClass" name="RealLiteral" eSuperTypes="#//Literal"> | ||
122 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/> | ||
123 | </eClassifiers> | ||
124 | <eClassifiers xsi:type="ecore:EClass" name="StringLiteral" eSuperTypes="#//Literal"> | ||
125 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
126 | </eClassifiers> | ||
127 | <eClassifiers xsi:type="ecore:EClass" name="LogicLiteral" eSuperTypes="#//Literal"> | ||
128 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | ||
129 | </eClassifiers> | ||
130 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | ||
131 | <eLiterals name="UNKNOWN"/> | ||
132 | <eLiterals name="FALSE" value="1"/> | ||
133 | <eLiterals name="TRUE" value="2"/> | ||
134 | <eLiterals name="ERROR" value="3"/> | ||
135 | </eClassifiers> | ||
136 | <eClassifiers xsi:type="ecore:EClass" name="EmptyLiteral" eSuperTypes="#//Literal"/> | ||
137 | <eClassifiers xsi:type="ecore:EClass" name="CastExpression" eSuperTypes="#//Expression"> | ||
138 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
139 | containment="true"/> | ||
140 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//Symbol"/> | ||
141 | </eClassifiers> | ||
142 | <eClassifiers xsi:type="ecore:EClass" name="AggregateExpression" abstract="true" | ||
143 | eSuperTypes="#//Expression"> | ||
144 | <eStructuralFeatures xsi:type="ecore:EReference" name="forallVariables" upperBound="-1" | ||
145 | eType="#//Variable" transient="true" containment="true"/> | ||
146 | <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="#//Expression" | ||
147 | containment="true"/> | ||
148 | </eClassifiers> | ||
149 | <eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//AggregateExpression"/> | ||
150 | <eClassifiers xsi:type="ecore:EClass" name="Aggregation" eSuperTypes="#//AggregateExpression"> | ||
151 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Expression" | ||
152 | containment="true"/> | ||
153 | <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//Symbol"/> | ||
154 | </eClassifiers> | ||
155 | <eClassifiers xsi:type="ecore:EClass" name="Forall" eSuperTypes="#//AggregateExpression"> | ||
156 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
157 | containment="true"/> | ||
158 | </eClassifiers> | ||
159 | <eClassifiers xsi:type="ecore:EClass" name="TypeReference"> | ||
160 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="forceObjectType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
161 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol"/> | ||
162 | </eClassifiers> | ||
163 | <eClassifiers xsi:type="ecore:EClass" name="InfinityLiteral" eSuperTypes="#//Literal"/> | ||
164 | <eClassifiers xsi:type="ecore:EClass" name="Interval" eSuperTypes="#//Expression"> | ||
165 | <eStructuralFeatures xsi:type="ecore:EReference" name="lowerBound" eType="#//Expression" | ||
166 | containment="true"/> | ||
167 | <eStructuralFeatures xsi:type="ecore:EReference" name="upperBound" eType="#//Expression" | ||
168 | containment="true"/> | ||
169 | </eClassifiers> | ||
170 | <eClassifiers xsi:type="ecore:EClass" name="Functor" abstract="true" eSuperTypes="#//Symbol"> | ||
171 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | ||
172 | eType="#//Variable" containment="true"/> | ||
173 | </eClassifiers> | ||
174 | <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//Functor"/> | ||
175 | <eClassifiers xsi:type="ecore:EClass" name="BaseRelation" eSuperTypes="#//Relation"/> | ||
176 | <eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="#//Relation"/> | ||
177 | <eClassifiers xsi:type="ecore:EClass" name="Datatype" eSuperTypes="#//Relation"/> | ||
178 | <eClassifiers xsi:type="ecore:EClass" name="Function" abstract="true" eSuperTypes="#//Functor"> | ||
179 | <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" eType="#//Datatype"/> | ||
180 | </eClassifiers> | ||
181 | <eClassifiers xsi:type="ecore:EClass" name="Metric" eSuperTypes="#//Function"/> | ||
182 | <eClassifiers xsi:type="ecore:EClass" name="Operator" eSuperTypes="#//Function"/> | ||
183 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//Symbol"> | ||
184 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="named" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
185 | </eClassifiers> | ||
186 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true"/> | ||
187 | <eClassifiers xsi:type="ecore:EClass" name="AbstractAssertion" abstract="true" eSuperTypes="#//Statement"> | ||
188 | <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression" | ||
189 | containment="true"/> | ||
190 | <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Expression" | ||
191 | containment="true"/> | ||
192 | </eClassifiers> | ||
193 | <eClassifiers xsi:type="ecore:EClass" name="FunctorDefiniton" abstract="true" eSuperTypes="#//Statement"> | ||
194 | <eStructuralFeatures xsi:type="ecore:EReference" name="head" eType="#//Expression" | ||
195 | containment="true"/> | ||
196 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
197 | containment="true"/> | ||
198 | </eClassifiers> | ||
199 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//FunctorDefiniton #//InlinePredicateAttrributes"/> | ||
200 | <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//FunctorDefiniton"> | ||
201 | <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" eType="#//Symbol"/> | ||
202 | </eClassifiers> | ||
203 | <eClassifiers xsi:type="ecore:EClass" name="Attribute" abstract="true" eSuperTypes="#//Statement"> | ||
204 | <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Symbol"/> | ||
205 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//AttributeKind"/> | ||
206 | </eClassifiers> | ||
207 | <eClassifiers xsi:type="ecore:EClass" name="ExternDeclaration" abstract="true" eSuperTypes="#//Statement"> | ||
208 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
209 | </eClassifiers> | ||
210 | <eClassifiers xsi:type="ecore:EClass" name="ExternFunctorDeclaration" abstract="true" | ||
211 | eSuperTypes="#//ExternDeclaration"> | ||
212 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
213 | containment="true"/> | ||
214 | </eClassifiers> | ||
215 | <eClassifiers xsi:type="ecore:EClass" name="ExternPredicateDeclaration" eSuperTypes="#//ExternFunctorDeclaration #//InlinePredicateAttrributes"/> | ||
216 | <eClassifiers xsi:type="ecore:EClass" name="ExternFunctionDeclaration" eSuperTypes="#//ExternFunctorDeclaration"> | ||
217 | <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" eType="#//Symbol"/> | ||
218 | </eClassifiers> | ||
219 | <eClassifiers xsi:type="ecore:EClass" name="ExternAggregationOperatorDeclaration" | ||
220 | eSuperTypes="#//ExternDeclaration"> | ||
221 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentType" eType="#//Symbol"/> | ||
222 | <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" eType="#//Symbol"/> | ||
223 | </eClassifiers> | ||
224 | <eClassifiers xsi:type="ecore:EClass" name="ExternDatatypeDeclaration" eSuperTypes="#//ExternDeclaration"/> | ||
225 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement"> | ||
226 | <eStructuralFeatures xsi:type="ecore:EReference" name="fields" upperBound="-1" | ||
227 | eType="#//Field" containment="true"/> | ||
228 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
229 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
230 | <eStructuralFeatures xsi:type="ecore:EReference" name="supertypes" upperBound="-1" | ||
231 | eType="#//Symbol"/> | ||
232 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="root" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
233 | </eClassifiers> | ||
234 | <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Statement"> | ||
235 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | ||
236 | eType="#//EnumLiteral" containment="true"/> | ||
237 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
238 | </eClassifiers> | ||
239 | <eClassifiers xsi:type="ecore:EClass" name="EnumLiteral"> | ||
240 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
241 | </eClassifiers> | ||
242 | <eClassifiers xsi:type="ecore:EClass" name="Field"> | ||
243 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
244 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="crossReference" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
245 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//Symbol"/> | ||
246 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
247 | containment="true"/> | ||
248 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol"/> | ||
249 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
250 | </eClassifiers> | ||
251 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/> | ||
252 | <eClassifiers xsi:type="ecore:EClass" name="DefaultAssertion" eSuperTypes="#//AbstractAssertion"/> | ||
253 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//AbstractAssertion"/> | ||
254 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> | ||
255 | <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity"> | ||
256 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
257 | </eClassifiers> | ||
258 | <eClassifiers xsi:type="ecore:EClass" name="BoundedMultiplicity" eSuperTypes="#//Multiplicity"> | ||
259 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
260 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
261 | </eClassifiers> | ||
262 | <eClassifiers xsi:type="ecore:EClass" name="InlinePredicateAttrributes" abstract="true" | ||
263 | interface="true"> | ||
264 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
265 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="functional" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
266 | </eClassifiers> | ||
267 | <eClassifiers xsi:type="ecore:EClass" name="AggregationOperator" eSuperTypes="#//Symbol"> | ||
268 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentType" eType="#//Datatype"/> | ||
269 | <eStructuralFeatures xsi:type="ecore:EReference" name="resultType" eType="#//Datatype"/> | ||
270 | </eClassifiers> | ||
271 | <eClassifiers xsi:type="ecore:EClass" name="Problem"> | ||
272 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
273 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" | ||
274 | eType="#//Statement" containment="true"/> | ||
275 | <eStructuralFeatures xsi:type="ecore:EReference" name="symbols" upperBound="-1" | ||
276 | eType="#//Symbol" transient="true" containment="true"/> | ||
277 | <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1" | ||
278 | eType="#//Import" containment="true"/> | ||
279 | </eClassifiers> | ||
280 | <eClassifiers xsi:type="ecore:EClass" name="TypedStarArgument" eSuperTypes="#//TypedArgument"/> | ||
281 | <eClassifiers xsi:type="ecore:EClass" name="TypedVariableArgument" eSuperTypes="#//TypedArgument"> | ||
282 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
283 | </eClassifiers> | ||
284 | <eClassifiers xsi:type="ecore:EClass" name="UnnamedErrorPredicateDefintion" eSuperTypes="#//Statement"> | ||
285 | <eStructuralFeatures xsi:type="ecore:EReference" name="argumentList" eType="#//ArgumentList" | ||
286 | containment="true"/> | ||
287 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expression" | ||
288 | containment="true"/> | ||
289 | </eClassifiers> | ||
290 | <eClassifiers xsi:type="ecore:EClass" name="ObjectiveDeclaration" eSuperTypes="#//Statement"> | ||
291 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ObjectiveKind"/> | ||
292 | <eStructuralFeatures xsi:type="ecore:EReference" name="objective" eType="#//Expression" | ||
293 | containment="true"/> | ||
294 | </eClassifiers> | ||
295 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement"> | ||
296 | <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//Symbol"/> | ||
297 | </eClassifiers> | ||
298 | <eClassifiers xsi:type="ecore:EEnum" name="ObjectiveKind"> | ||
299 | <eLiterals name="MINIMIZATION"/> | ||
300 | <eLiterals name="MAXIMIZATION" value="1"/> | ||
301 | </eClassifiers> | ||
302 | <eClassifiers xsi:type="ecore:EClass" name="ExactScope" eSuperTypes="#//ScopeDeclaration"> | ||
303 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
304 | </eClassifiers> | ||
305 | <eClassifiers xsi:type="ecore:EClass" name="BoundedScope" eSuperTypes="#//ScopeDeclaration"> | ||
306 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
307 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
308 | </eClassifiers> | ||
309 | <eClassifiers xsi:type="ecore:EClass" name="LowerBoundedScope" eSuperTypes="#//ScopeDeclaration"> | ||
310 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
311 | </eClassifiers> | ||
312 | <eClassifiers xsi:type="ecore:EClass" name="NamespaceImport" eSuperTypes="#//Import"> | ||
313 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="importedNamespace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
314 | </eClassifiers> | ||
315 | <eClassifiers xsi:type="ecore:EClass" name="Import"> | ||
316 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
317 | </eClassifiers> | ||
318 | <eClassifiers xsi:type="ecore:EClass" name="UriImport" eSuperTypes="#//Import"> | ||
319 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
320 | </eClassifiers> | ||
321 | <eClassifiers xsi:type="ecore:EEnum" name="AttributeKind"> | ||
322 | <eLiterals name="FUNCTIONAL"/> | ||
323 | <eLiterals name="ERROR" value="1"/> | ||
324 | <eLiterals name="ROOT" value="2"/> | ||
325 | <eLiterals name="CONTAINMENT" value="3"/> | ||
326 | </eClassifiers> | ||
327 | </ecore:EPackage> | ||