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