diff options
Diffstat (limited to 'subprojects/language-model/src/main/resources/model/problem.ecore')
-rw-r--r-- | subprojects/language-model/src/main/resources/model/problem.ecore | 53 |
1 files changed, 31 insertions, 22 deletions
diff --git a/subprojects/language-model/src/main/resources/model/problem.ecore b/subprojects/language-model/src/main/resources/model/problem.ecore index 3214da65..314639c1 100644 --- a/subprojects/language-model/src/main/resources/model/problem.ecore +++ b/subprojects/language-model/src/main/resources/model/problem.ecore | |||
@@ -9,14 +9,14 @@ | |||
9 | </eClassifiers> | 9 | </eClassifiers> |
10 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation"> | 10 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Statement #//Relation"> |
11 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 11 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" | 12 | <eStructuralFeatures xsi:type="ecore:EReference" name="featureDeclarations" upperBound="-1" |
13 | upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> | 13 | eType="#//FeatureDeclaration" containment="true"/> |
14 | <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" | 14 | <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" |
15 | transient="true" containment="true"/> | 15 | transient="true" containment="true"/> |
16 | <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" | 16 | <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" |
17 | eType="#//Relation"/> | 17 | eType="#//Relation"/> |
18 | </eClassifiers> | 18 | </eClassifiers> |
19 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> | 19 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//FeatureDeclaration"> |
20 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> | 20 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> |
21 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | 21 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" |
22 | containment="true"/> | 22 | containment="true"/> |
@@ -49,12 +49,13 @@ | |||
49 | eType="#//ImplicitVariable" transient="true" containment="true"/> | 49 | eType="#//ImplicitVariable" transient="true" containment="true"/> |
50 | </eClassifiers> | 50 | </eClassifiers> |
51 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | 51 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> |
52 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | ||
53 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | 52 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
54 | eType="#//AssertionArgument" containment="true"/> | 53 | eType="#//AssertionArgument" containment="true"/> |
55 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | 54 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
56 | defaultValueLiteral="false"/> | 55 | defaultValueLiteral="false"/> |
57 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | 56 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> |
57 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//AssertionValue" | ||
58 | containment="true"/> | ||
58 | </eClassifiers> | 59 | </eClassifiers> |
59 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> | 60 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> |
60 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | 61 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> |
@@ -91,7 +92,7 @@ | |||
91 | eType="#//Node" containment="true"/> | 92 | eType="#//Node" containment="true"/> |
92 | </eClassifiers> | 93 | </eClassifiers> |
93 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> | 94 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> |
94 | <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true"/> | 95 | <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true" eSuperTypes="#//Expr"/> |
95 | <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant"> | 96 | <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant"> |
96 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | 97 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
97 | defaultValueLiteral="0"/> | 98 | defaultValueLiteral="0"/> |
@@ -107,17 +108,6 @@ | |||
107 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | 108 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> |
108 | </eClassifiers> | 109 | </eClassifiers> |
109 | <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> | 110 | <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> |
110 | <eClassifiers xsi:type="ecore:EClass" name="ConstantAssertionArgument" eSuperTypes="#//AssertionArgument"> | ||
111 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | ||
112 | containment="true"/> | ||
113 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node" containment="true"/> | ||
114 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="negative" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
115 | </eClassifiers> | ||
116 | <eClassifiers xsi:type="ecore:EClass" name="NodeValueAssertion" eSuperTypes="#//Statement"> | ||
117 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | ||
118 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Constant" | ||
119 | containment="true"/> | ||
120 | </eClassifiers> | ||
121 | <eClassifiers xsi:type="ecore:EClass" name="IndividualDeclaration" eSuperTypes="#//Statement"> | 111 | <eClassifiers xsi:type="ecore:EClass" name="IndividualDeclaration" eSuperTypes="#//Statement"> |
122 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" | 112 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" |
123 | eType="#//Node" containment="true"/> | 113 | eType="#//Node" containment="true"/> |
@@ -168,9 +158,9 @@ | |||
168 | <eLiterals name="GREATER_EQ" value="3"/> | 158 | <eLiterals name="GREATER_EQ" value="3"/> |
169 | <eLiterals name="EQ" value="4"/> | 159 | <eLiterals name="EQ" value="4"/> |
170 | <eLiterals name="NOT_EQ" value="5"/> | 160 | <eLiterals name="NOT_EQ" value="5"/> |
161 | <eLiterals name="IN" value="6"/> | ||
171 | </eClassifiers> | 162 | </eClassifiers> |
172 | <eClassifiers xsi:type="ecore:EEnum" name="ReferenceKind"> | 163 | <eClassifiers xsi:type="ecore:EEnum" name="ReferenceKind"> |
173 | <eLiterals name="DEFAULT"/> | ||
174 | <eLiterals name="REFERENCE" value="1"/> | 164 | <eLiterals name="REFERENCE" value="1"/> |
175 | <eLiterals name="CONTAINMENT" value="2"/> | 165 | <eLiterals name="CONTAINMENT" value="2"/> |
176 | <eLiterals name="CONTAINER" value="3"/> | 166 | <eLiterals name="CONTAINER" value="3"/> |
@@ -205,6 +195,8 @@ | |||
205 | <eLiterals name="MUL" value="2"/> | 195 | <eLiterals name="MUL" value="2"/> |
206 | <eLiterals name="DIV" value="3"/> | 196 | <eLiterals name="DIV" value="3"/> |
207 | <eLiterals name="POW" value="4"/> | 197 | <eLiterals name="POW" value="4"/> |
198 | <eLiterals name="MEET" value="5"/> | ||
199 | <eLiterals name="JOIN" value="6"/> | ||
208 | </eClassifiers> | 200 | </eClassifiers> |
209 | <eClassifiers xsi:type="ecore:EClass" name="ArithmeticUnaryExpr" eSuperTypes="#//UnaryExpr"> | 201 | <eClassifiers xsi:type="ecore:EClass" name="ArithmeticUnaryExpr" eSuperTypes="#//UnaryExpr"> |
210 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> | 202 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//UnaryOp"/> |
@@ -225,16 +217,12 @@ | |||
225 | <eClassifiers xsi:type="ecore:EClass" name="ComparisonExpr" eSuperTypes="#//BinaryExpr"> | 217 | <eClassifiers xsi:type="ecore:EClass" name="ComparisonExpr" eSuperTypes="#//BinaryExpr"> |
226 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//ComparisonOp"/> | 218 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="op" eType="#//ComparisonOp"/> |
227 | </eClassifiers> | 219 | </eClassifiers> |
228 | <eClassifiers xsi:type="ecore:EClass" name="ConstantExpr" eSuperTypes="#//Expr"> | ||
229 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | ||
230 | containment="true"/> | ||
231 | </eClassifiers> | ||
232 | <eClassifiers xsi:type="ecore:EClass" name="QuantifiedUnaryExpr" abstract="true" | 220 | <eClassifiers xsi:type="ecore:EClass" name="QuantifiedUnaryExpr" abstract="true" |
233 | eSuperTypes="#//ExistentialQuantifier #//UnaryExpr"/> | 221 | eSuperTypes="#//ExistentialQuantifier #//UnaryExpr"/> |
234 | <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//ParametricDefinition #//Relation"> | 222 | <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinition" eSuperTypes="#//ParametricDefinition #//Relation"> |
235 | <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1" | 223 | <eStructuralFeatures xsi:type="ecore:EReference" name="cases" upperBound="-1" |
236 | eType="#//Case" containment="true"/> | 224 | eType="#//Case" containment="true"/> |
237 | <eStructuralFeatures xsi:type="ecore:EReference" name="functionType" eType="#//Relation"/> | 225 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="functionType" eType="#//PrimitiveType"/> |
238 | </eClassifiers> | 226 | </eClassifiers> |
239 | <eClassifiers xsi:type="ecore:EClass" name="Case" abstract="true"/> | 227 | <eClassifiers xsi:type="ecore:EClass" name="Case" abstract="true"/> |
240 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Case #//ExistentialQuantifier"> | 228 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//Case #//ExistentialQuantifier"> |
@@ -256,4 +244,25 @@ | |||
256 | <eClassifiers xsi:type="ecore:EClass" name="ModalExpr" eSuperTypes="#//UnaryExpr"> | 244 | <eClassifiers xsi:type="ecore:EClass" name="ModalExpr" eSuperTypes="#//UnaryExpr"> |
257 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="modality" eType="#//Modality"/> | 245 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="modality" eType="#//Modality"/> |
258 | </eClassifiers> | 246 | </eClassifiers> |
247 | <eClassifiers xsi:type="ecore:EClass" name="RangeExpr" eSuperTypes="#//BinaryExpr"/> | ||
248 | <eClassifiers xsi:type="ecore:EClass" name="InfConstant" eSuperTypes="#//Constant"/> | ||
249 | <eClassifiers xsi:type="ecore:EClass" name="FeatureDeclaration" abstract="true" | ||
250 | eSuperTypes="#//Relation"/> | ||
251 | <eClassifiers xsi:type="ecore:EClass" name="AttributeDeclaration" eSuperTypes="#//FeatureDeclaration"> | ||
252 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="attributeType" eType="#//PrimitiveType"/> | ||
253 | </eClassifiers> | ||
254 | <eClassifiers xsi:type="ecore:EClass" name="FlagDeclaration" eSuperTypes="#//FeatureDeclaration"/> | ||
255 | <eClassifiers xsi:type="ecore:EEnum" name="PrimitiveType"> | ||
256 | <eLiterals name="INT"/> | ||
257 | <eLiterals name="REAL" value="1"/> | ||
258 | <eLiterals name="STRING" value="2"/> | ||
259 | </eClassifiers> | ||
260 | <eClassifiers xsi:type="ecore:EClass" name="AssertionValue" abstract="true"/> | ||
261 | <eClassifiers xsi:type="ecore:EClass" name="LogicAssertionValue" eSuperTypes="#//AssertionValue"> | ||
262 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="logicValue" eType="#//LogicValue"/> | ||
263 | </eClassifiers> | ||
264 | <eClassifiers xsi:type="ecore:EClass" name="ExprAssertionValue" eSuperTypes="#//AssertionValue"> | ||
265 | <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//Expr" containment="true"/> | ||
266 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="range" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
267 | </eClassifiers> | ||
259 | </ecore:EPackage> | 268 | </ecore:EPackage> |