diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-08-01 01:44:06 +0200 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-08-01 01:44:06 +0200 |
commit | e86447b4d74677d86271336727e0bbff9f4c54b5 (patch) | |
tree | 5f32aa78c8aa8a72ec0303cb5675eb83877b3700 /subprojects/language-model/src/main/resources/model/problem.ecore | |
parent | chore(deps): bump dependencies (diff) | |
download | refinery-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.ecore | 55 |
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> |