aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-model/src/main/resources/model/problem.ecore
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-01 01:44:06 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-08-01 01:44:06 +0200
commite86447b4d74677d86271336727e0bbff9f4c54b5 (patch)
tree5f32aa78c8aa8a72ec0303cb5675eb83877b3700 /subprojects/language-model/src/main/resources/model/problem.ecore
parentchore(deps): bump dependencies (diff)
downloadrefinery-e86447b4d74677d86271336727e0bbff9f4c54b5.tar.gz
refinery-e86447b4d74677d86271336727e0bbff9f4c54b5.tar.zst
refinery-e86447b4d74677d86271336727e0bbff9f4c54b5.zip
refactor: direct predicates
* Remove the direct keyword because it can be inferred * Use may/must/current instead of value literals * Transformation rule changes
Diffstat (limited to 'subprojects/language-model/src/main/resources/model/problem.ecore')
-rw-r--r--subprojects/language-model/src/main/resources/model/problem.ecore55
1 files changed, 22 insertions, 33 deletions
diff --git a/subprojects/language-model/src/main/resources/model/problem.ecore b/subprojects/language-model/src/main/resources/model/problem.ecore
index 582f67c8..16683952 100644
--- a/subprojects/language-model/src/main/resources/model/problem.ecore
+++ b/subprojects/language-model/src/main/resources/model/problem.ecore
@@ -29,8 +29,6 @@
29 </eClassifiers> 29 </eClassifiers>
30 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//ParametricDefinition"> 30 <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//ParametricDefinition">
31 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 31 <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
32 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PredicateKind"
33 defaultValueLiteral="PARTIAL"/>
34 </eClassifiers> 32 </eClassifiers>
35 <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> 33 <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable">
36 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> 34 <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/>
@@ -40,7 +38,9 @@
40 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" 38 <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1"
41 eType="#//Literal" containment="true"/> 39 eType="#//Literal" containment="true"/>
42 </eClassifiers> 40 </eClassifiers>
43 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> 41 <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true">
42 <eStructuralFeatures xsi:type="ecore:EAttribute" name="modality" eType="#//Modality"/>
43 </eClassifiers>
44 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal"> 44 <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal">
45 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> 45 <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/>
46 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> 46 <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
@@ -48,7 +48,9 @@
48 eType="#//Argument" containment="true"/> 48 eType="#//Argument" containment="true"/>
49 </eClassifiers> 49 </eClassifiers>
50 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/> 50 <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/>
51 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//CompoundLiteral"/> 51 <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal">
52 <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/>
53 </eClassifiers>
52 <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true" 54 <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true"
53 interface="true"> 55 interface="true">
54 <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1" 56 <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1"
@@ -145,47 +147,34 @@
145 eType="#//Parameter" containment="true"/> 147 eType="#//Parameter" containment="true"/>
146 </eClassifiers> 148 </eClassifiers>
147 <eClassifiers xsi:type="ecore:EClass" name="RuleDefinition" eSuperTypes="#//ParametricDefinition #//NamedElement"> 149 <eClassifiers xsi:type="ecore:EClass" name="RuleDefinition" eSuperTypes="#//ParametricDefinition #//NamedElement">
148 <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//RuleKind" 150 <eStructuralFeatures xsi:type="ecore:EReference" name="consequents" upperBound="-1"
149 defaultValueLiteral="DIRECT"/> 151 eType="#//Consequent" containment="true"/>
150 <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//Action"
151 containment="true"/>
152 </eClassifiers> 152 </eClassifiers>
153 <eClassifiers xsi:type="ecore:EClass" name="Action"> 153 <eClassifiers xsi:type="ecore:EClass" name="Consequent">
154 <eStructuralFeatures xsi:type="ecore:EReference" name="actionLiterals" upperBound="-1" 154 <eStructuralFeatures xsi:type="ecore:EReference" name="actions" upperBound="-1"
155 eType="#//ActionLiteral" containment="true"/> 155 eType="#//Action" containment="true"/>
156 </eClassifiers> 156 </eClassifiers>
157 <eClassifiers xsi:type="ecore:EClass" name="ActionLiteral" abstract="true"/> 157 <eClassifiers xsi:type="ecore:EClass" name="Action" abstract="true"/>
158 <eClassifiers xsi:type="ecore:EClass" name="ValueActionLiteral" eSuperTypes="#//ActionLiteral"> 158 <eClassifiers xsi:type="ecore:EClass" name="AssertionAction" eSuperTypes="#//Action">
159 <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> 159 <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/>
160 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue" 160 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"
161 defaultValueLiteral="TRUE"/> 161 defaultValueLiteral="TRUE"/>
162 <eStructuralFeatures xsi:type="ecore:EAttribute" name="refinement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" 162 <eStructuralFeatures xsi:type="ecore:EAttribute" name="overwrite" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
163 defaultValueLiteral="FALSE"/> 163 defaultValueLiteral="FALSE"/>
164 </eClassifiers> 164 </eClassifiers>
165 <eClassifiers xsi:type="ecore:EClass" name="DeleteActionLiteral" eSuperTypes="#//ActionLiteral"> 165 <eClassifiers xsi:type="ecore:EClass" name="DeleteAction" eSuperTypes="#//Action">
166 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> 166 <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/>
167 </eClassifiers> 167 </eClassifiers>
168 <eClassifiers xsi:type="ecore:EClass" name="NewActionLiteral" eSuperTypes="#//ActionLiteral"> 168 <eClassifiers xsi:type="ecore:EClass" name="NewAction" eSuperTypes="#//Action">
169 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NewVariable" 169 <eStructuralFeatures xsi:type="ecore:EReference" name="variable" eType="#//NewVariable"
170 containment="true"/> 170 containment="true"/>
171 <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//VariableOrNode"/>
171 </eClassifiers> 172 </eClassifiers>
172 <eClassifiers xsi:type="ecore:EClass" name="NewVariable" eSuperTypes="#//Variable"/> 173 <eClassifiers xsi:type="ecore:EClass" name="NewVariable" eSuperTypes="#//Variable"/>
173 <eClassifiers xsi:type="ecore:EClass" name="CompoundLiteral" abstract="true" eSuperTypes="#//Literal"> 174 <eClassifiers xsi:type="ecore:EEnum" name="Modality">
174 <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> 175 <eLiterals name="DEFAULT"/>
175 </eClassifiers> 176 <eLiterals name="MAY" value="1"/>
176 <eClassifiers xsi:type="ecore:EClass" name="ValueLiteral" eSuperTypes="#//CompoundLiteral"> 177 <eLiterals name="MUST" value="2"/>
177 <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" 178 <eLiterals name="CURRENT" value="3"/>
178 eType="#//LogicConstant" containment="true"/>
179 <eStructuralFeatures xsi:type="ecore:EAttribute" name="refinement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
180 </eClassifiers>
181 <eClassifiers xsi:type="ecore:EClass" name="LogicConstant">
182 <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/>
183 </eClassifiers>
184 <eClassifiers xsi:type="ecore:EEnum" name="PredicateKind">
185 <eLiterals name="PARTIAL"/>
186 <eLiterals name="DIRECT" value="1"/>
187 </eClassifiers>
188 <eClassifiers xsi:type="ecore:EEnum" name="RuleKind">
189 <eLiterals name="DIRECT"/>
190 </eClassifiers> 179 </eClassifiers>
191</ecore:EPackage> 180</ecore:EPackage>