aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-model/src/main/resources/model
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-11-19 21:39:00 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-11-22 16:40:03 +0100
commit3aa4a2b58221a3e83b17d0c04c9a6e9c41e5500c (patch)
tree1e25f513e3b34b2ea29dbcc6cc3795e5927a1362 /subprojects/language-model/src/main/resources/model
parentfeat(language): numeric expressions (diff)
downloadrefinery-3aa4a2b58221a3e83b17d0c04c9a6e9c41e5500c.tar.gz
refinery-3aa4a2b58221a3e83b17d0c04c9a6e9c41e5500c.tar.zst
refinery-3aa4a2b58221a3e83b17d0c04c9a6e9c41e5500c.zip
refactor: separate primitive types from nodes
Diffstat (limited to 'subprojects/language-model/src/main/resources/model')
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.ecore53
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.genmodel42
2 files changed, 57 insertions, 38 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>
diff --git a/subprojects/language-model/src/main/resources/model/problem.genmodel b/subprojects/language-model/src/main/resources/model/problem.genmodel
index 230f9919..c5d7c0ea 100644
--- a/subprojects/language-model/src/main/resources/model/problem.genmodel
+++ b/subprojects/language-model/src/main/resources/model/problem.genmodel
@@ -29,9 +29,9 @@
29 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/GREATER_EQ"/> 29 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/GREATER_EQ"/>
30 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/> 30 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/EQ"/>
31 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NOT_EQ"/> 31 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/NOT_EQ"/>
32 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ComparisonOp/IN"/>
32 </genEnums> 33 </genEnums>
33 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind"> 34 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//ReferenceKind">
34 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/DEFAULT"/>
35 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/REFERENCE"/> 35 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/REFERENCE"/>
36 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINMENT"/> 36 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINMENT"/>
37 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINER"/> 37 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//ReferenceKind/CONTAINER"/>
@@ -52,6 +52,8 @@
52 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/MUL"/> 52 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/MUL"/>
53 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/DIV"/> 53 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/DIV"/>
54 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/POW"/> 54 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/POW"/>
55 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/MEET"/>
56 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//BinaryOp/JOIN"/>
55 </genEnums> 57 </genEnums>
56 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//AggregationOp"> 58 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//AggregationOp">
57 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/SUM"/> 59 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/SUM"/>
@@ -59,13 +61,18 @@
59 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MIN"/> 61 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MIN"/>
60 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MAX"/> 62 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//AggregationOp/MAX"/>
61 </genEnums> 63 </genEnums>
64 <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//PrimitiveType">
65 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/INT"/>
66 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/REAL"/>
67 <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PrimitiveType/STRING"/>
68 </genEnums>
62 <genClasses ecoreClass="problem.ecore#//Problem"> 69 <genClasses ecoreClass="problem.ecore#//Problem">
63 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> 70 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/>
64 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> 71 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/>
65 </genClasses> 72 </genClasses>
66 <genClasses ecoreClass="problem.ecore#//ClassDeclaration"> 73 <genClasses ecoreClass="problem.ecore#//ClassDeclaration">
67 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> 74 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/>
68 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> 75 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/featureDeclarations"/>
69 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/> 76 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/>
70 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> 77 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/>
71 </genClasses> 78 </genClasses>
@@ -97,10 +104,10 @@
97 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/> 104 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/>
98 </genClasses> 105 </genClasses>
99 <genClasses ecoreClass="problem.ecore#//Assertion"> 106 <genClasses ecoreClass="problem.ecore#//Assertion">
100 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/>
101 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> 107 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/>
102 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/default"/> 108 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/default"/>
103 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> 109 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/>
110 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/value"/>
104 </genClasses> 111 </genClasses>
105 <genClasses ecoreClass="problem.ecore#//Node"/> 112 <genClasses ecoreClass="problem.ecore#//Node"/>
106 <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> 113 <genClasses ecoreClass="problem.ecore#//ScopeDeclaration">
@@ -139,15 +146,6 @@
139 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/> 146 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/>
140 </genClasses> 147 </genClasses>
141 <genClasses ecoreClass="problem.ecore#//AssertionArgument"/> 148 <genClasses ecoreClass="problem.ecore#//AssertionArgument"/>
142 <genClasses ecoreClass="problem.ecore#//ConstantAssertionArgument">
143 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/constant"/>
144 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/node"/>
145 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ConstantAssertionArgument/negative"/>
146 </genClasses>
147 <genClasses ecoreClass="problem.ecore#//NodeValueAssertion">
148 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/node"/>
149 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/value"/>
150 </genClasses>
151 <genClasses ecoreClass="problem.ecore#//IndividualDeclaration"> 149 <genClasses ecoreClass="problem.ecore#//IndividualDeclaration">
152 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//IndividualDeclaration/nodes"/> 150 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//IndividualDeclaration/nodes"/>
153 </genClasses> 151 </genClasses>
@@ -199,13 +197,10 @@
199 <genClasses ecoreClass="problem.ecore#//ComparisonExpr"> 197 <genClasses ecoreClass="problem.ecore#//ComparisonExpr">
200 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ComparisonExpr/op"/> 198 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ComparisonExpr/op"/>
201 </genClasses> 199 </genClasses>
202 <genClasses ecoreClass="problem.ecore#//ConstantExpr">
203 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantExpr/constant"/>
204 </genClasses>
205 <genClasses ecoreClass="problem.ecore#//QuantifiedUnaryExpr"/> 200 <genClasses ecoreClass="problem.ecore#//QuantifiedUnaryExpr"/>
206 <genClasses ecoreClass="problem.ecore#//FunctionDefinition"> 201 <genClasses ecoreClass="problem.ecore#//FunctionDefinition">
207 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/cases"/> 202 <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/cases"/>
208 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//FunctionDefinition/functionType"/> 203 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//FunctionDefinition/functionType"/>
209 </genClasses> 204 </genClasses>
210 <genClasses ecoreClass="problem.ecore#//Case"/> 205 <genClasses ecoreClass="problem.ecore#//Case"/>
211 <genClasses ecoreClass="problem.ecore#//Conjunction"> 206 <genClasses ecoreClass="problem.ecore#//Conjunction">
@@ -224,5 +219,20 @@
224 <genClasses ecoreClass="problem.ecore#//ModalExpr"> 219 <genClasses ecoreClass="problem.ecore#//ModalExpr">
225 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ModalExpr/modality"/> 220 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ModalExpr/modality"/>
226 </genClasses> 221 </genClasses>
222 <genClasses ecoreClass="problem.ecore#//RangeExpr"/>
223 <genClasses ecoreClass="problem.ecore#//InfConstant"/>
224 <genClasses ecoreClass="problem.ecore#//FeatureDeclaration"/>
225 <genClasses ecoreClass="problem.ecore#//AttributeDeclaration">
226 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//AttributeDeclaration/attributeType"/>
227 </genClasses>
228 <genClasses ecoreClass="problem.ecore#//FlagDeclaration"/>
229 <genClasses ecoreClass="problem.ecore#//AssertionValue"/>
230 <genClasses ecoreClass="problem.ecore#//LogicAssertionValue">
231 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicAssertionValue/logicValue"/>
232 </genClasses>
233 <genClasses ecoreClass="problem.ecore#//ExprAssertionValue">
234 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExprAssertionValue/body"/>
235 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExprAssertionValue/range"/>
236 </genClasses>
227 </genPackages> 237 </genPackages>
228</genmodel:GenModel> 238</genmodel:GenModel>