aboutsummaryrefslogtreecommitdiffstats
path: root/Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-08 18:28:19 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-08 18:28:19 +0200
commit419e76265ecbdf65e960e0624be006d31ed1e191 (patch)
treedad200fe9fd0beae7adde969206b77691a51b85a /Application/org.eclipse.viatra.solver.language/model/generated/SolverLanguage.ecore
parentFix check expressions in generated VIATRA (diff)
downloadVIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.tar.gz
VIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.tar.zst
VIATRA-Generator-419e76265ecbdf65e960e0624be006d31ed1e191.zip
Update solver language grammar
First version, still needs TokenSource and Linker to work.
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.ecore302
1 files changed, 196 insertions, 106 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>