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