diff options
author | Kristóf Marussy <kristof@marussy.com> | 2021-11-05 19:33:25 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2021-11-05 20:00:06 +0100 |
commit | a951628de0ce9902222ed290a1345c145f8af01a (patch) | |
tree | ad8414c17edebe50912bf87a26ed5509feb91683 /language-model/src | |
parent | Merge pull request #10 from kris7t/cm6-fixes (diff) | |
download | refinery-a951628de0ce9902222ed290a1345c145f8af01a.tar.gz refinery-a951628de0ce9902222ed290a1345c145f8af01a.tar.zst refinery-a951628de0ce9902222ed290a1345c145f8af01a.zip |
chore: rename unique to individual
Suggestion by @vincemolnar to match SysML V2 terminology more closely.
Diffstat (limited to 'language-model/src')
4 files changed, 361 insertions, 361 deletions
diff --git a/language-model/src/main/java/tools/refinery/language/model/ProblemUtil.java b/language-model/src/main/java/tools/refinery/language/model/ProblemUtil.java index 5f8641bf..d8958381 100644 --- a/language-model/src/main/java/tools/refinery/language/model/ProblemUtil.java +++ b/language-model/src/main/java/tools/refinery/language/model/ProblemUtil.java | |||
@@ -53,9 +53,9 @@ public final class ProblemUtil { | |||
53 | } | 53 | } |
54 | } | 54 | } |
55 | 55 | ||
56 | public static boolean isUniqueNode(Node node) { | 56 | public static boolean isIndividualNode(Node node) { |
57 | var containingFeature = node.eContainingFeature(); | 57 | var containingFeature = node.eContainingFeature(); |
58 | return containingFeature == ProblemPackage.Literals.UNIQUE_DECLARATION__NODES | 58 | return containingFeature == ProblemPackage.Literals.INDIVIDUAL_DECLARATION__NODES |
59 | || containingFeature == ProblemPackage.Literals.ENUM_DECLARATION__LITERALS; | 59 | || containingFeature == ProblemPackage.Literals.ENUM_DECLARATION__LITERALS; |
60 | } | 60 | } |
61 | 61 | ||
diff --git a/language-model/src/main/resources/model/problem.ecore b/language-model/src/main/resources/model/problem.ecore index 775d124d..77211b66 100644 --- a/language-model/src/main/resources/model/problem.ecore +++ b/language-model/src/main/resources/model/problem.ecore | |||
@@ -1,191 +1,191 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="https://refinery.tools/emf/2021/Problem" nsPrefix="problem"> | 3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="https://refinery.tools/emf/2021/Problem" nsPrefix="problem"> |
4 | <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement"> | 4 | <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement"> |
5 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" | 5 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" |
6 | eType="#//Node" containment="true"/> | 6 | eType="#//Node" containment="true"/> |
7 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" | 7 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" |
8 | eType="#//Statement" containment="true"/> | 8 | eType="#//Statement" containment="true"/> |
9 | </eClassifiers> | 9 | </eClassifiers> |
10 | <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//NamedElement"/> | 10 | <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//NamedElement"/> |
11 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement"> | 11 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement"> |
12 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 12 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
13 | <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" | 13 | <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" |
14 | eType="#//Relation"/> | 14 | eType="#//Relation"/> |
15 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" | 15 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" |
16 | upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> | 16 | upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> |
17 | <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" | 17 | <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" |
18 | containment="true"/> | 18 | containment="true"/> |
19 | </eClassifiers> | 19 | </eClassifiers> |
20 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> | 20 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> |
21 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/> | 21 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/> |
22 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> | 22 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> |
23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 23 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
24 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | 24 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" |
25 | containment="true"/> | 25 | containment="true"/> |
26 | </eClassifiers> | 26 | </eClassifiers> |
27 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> | 27 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> |
28 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 28 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
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" | 32 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//PredicateKind" |
33 | defaultValueLiteral="PARTIAL"/> | 33 | defaultValueLiteral="PARTIAL"/> |
34 | </eClassifiers> | 34 | </eClassifiers> |
35 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> | 35 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> |
36 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> | 36 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> |
37 | </eClassifiers> | 37 | </eClassifiers> |
38 | <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//VariableOrNode"/> | 38 | <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//VariableOrNode"/> |
39 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier"> | 39 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier"> |
40 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | 40 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" |
41 | eType="#//Literal" containment="true"/> | 41 | eType="#//Literal" containment="true"/> |
42 | </eClassifiers> | 42 | </eClassifiers> |
43 | <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> | 43 | <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> |
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"/> |
47 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | 47 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
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 #//CompoundLiteral"/> |
52 | <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true" | 52 | <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true" |
53 | interface="true"> | 53 | interface="true"> |
54 | <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1" | 54 | <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1" |
55 | eType="#//ImplicitVariable" containment="true"/> | 55 | eType="#//ImplicitVariable" containment="true"/> |
56 | </eClassifiers> | 56 | </eClassifiers> |
57 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | 57 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> |
58 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | 58 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> |
59 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | 59 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> |
60 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | 60 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" |
61 | eType="#//AssertionArgument" containment="true"/> | 61 | eType="#//AssertionArgument" containment="true"/> |
62 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" | 62 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="default" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
63 | defaultValueLiteral="false"/> | 63 | defaultValueLiteral="false"/> |
64 | </eClassifiers> | 64 | </eClassifiers> |
65 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> | 65 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> |
66 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | 66 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> |
67 | <eLiterals name="TRUE" literal="TRUE"/> | 67 | <eLiterals name="TRUE" literal="TRUE"/> |
68 | <eLiterals name="FALSE" value="1"/> | 68 | <eLiterals name="FALSE" value="1"/> |
69 | <eLiterals name="UNKNOWN" value="2"/> | 69 | <eLiterals name="UNKNOWN" value="2"/> |
70 | <eLiterals name="ERROR" value="3"/> | 70 | <eLiterals name="ERROR" value="3"/> |
71 | </eClassifiers> | 71 | </eClassifiers> |
72 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement"> | 72 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement"> |
73 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1" | 73 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1" |
74 | eType="#//TypeScope" containment="true"/> | 74 | eType="#//TypeScope" containment="true"/> |
75 | </eClassifiers> | 75 | </eClassifiers> |
76 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> | 76 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> |
77 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> | 77 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> |
78 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//ClassDeclaration"/> | 78 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//ClassDeclaration"/> |
79 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 79 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
80 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | 80 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" |
81 | containment="true"/> | 81 | containment="true"/> |
82 | </eClassifiers> | 82 | </eClassifiers> |
83 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/> | 83 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/> |
84 | <eClassifiers xsi:type="ecore:EClass" name="RangeMultiplicity" eSuperTypes="#//Multiplicity"> | 84 | <eClassifiers xsi:type="ecore:EClass" name="RangeMultiplicity" eSuperTypes="#//Multiplicity"> |
85 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | 85 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
86 | defaultValueLiteral="0"/> | 86 | defaultValueLiteral="0"/> |
87 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | 87 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
88 | defaultValueLiteral="-1"/> | 88 | defaultValueLiteral="-1"/> |
89 | </eClassifiers> | 89 | </eClassifiers> |
90 | <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity"> | 90 | <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity"> |
91 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | 91 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
92 | defaultValueLiteral="1"/> | 92 | defaultValueLiteral="1"/> |
93 | </eClassifiers> | 93 | </eClassifiers> |
94 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> | 94 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> |
95 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNodeArgument" eSuperTypes="#//Argument"> | 95 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNodeArgument" eSuperTypes="#//Argument"> |
96 | <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> | 96 | <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> |
97 | <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" | 97 | <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" |
98 | containment="true"/> | 98 | containment="true"/> |
99 | </eClassifiers> | 99 | </eClassifiers> |
100 | <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Relation #//Statement"> | 100 | <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Relation #//Statement"> |
101 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | 101 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" |
102 | eType="#//Node" containment="true"/> | 102 | eType="#//Node" containment="true"/> |
103 | </eClassifiers> | 103 | </eClassifiers> |
104 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> | 104 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> |
105 | <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true"/> | 105 | <eClassifiers xsi:type="ecore:EClass" name="Constant" abstract="true"/> |
106 | <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant"> | 106 | <eClassifiers xsi:type="ecore:EClass" name="IntConstant" eSuperTypes="#//Constant"> |
107 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | 107 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="intValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" |
108 | defaultValueLiteral="0"/> | 108 | defaultValueLiteral="0"/> |
109 | </eClassifiers> | 109 | </eClassifiers> |
110 | <eClassifiers xsi:type="ecore:EClass" name="RealConstant" eSuperTypes="#//Constant"> | 110 | <eClassifiers xsi:type="ecore:EClass" name="RealConstant" eSuperTypes="#//Constant"> |
111 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="realValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" | 111 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="realValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble" |
112 | defaultValueLiteral="0.0"/> | 112 | defaultValueLiteral="0.0"/> |
113 | </eClassifiers> | 113 | </eClassifiers> |
114 | <eClassifiers xsi:type="ecore:EClass" name="StringConstant" eSuperTypes="#//Constant"> | 114 | <eClassifiers xsi:type="ecore:EClass" name="StringConstant" eSuperTypes="#//Constant"> |
115 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | 115 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="stringValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
116 | </eClassifiers> | 116 | </eClassifiers> |
117 | <eClassifiers xsi:type="ecore:EClass" name="ConstantArgument" eSuperTypes="#//Argument"> | 117 | <eClassifiers xsi:type="ecore:EClass" name="ConstantArgument" eSuperTypes="#//Argument"> |
118 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | 118 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" |
119 | containment="true"/> | 119 | containment="true"/> |
120 | </eClassifiers> | 120 | </eClassifiers> |
121 | <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true"/> | 121 | <eClassifiers xsi:type="ecore:EClass" name="Argument" abstract="true"/> |
122 | <eClassifiers xsi:type="ecore:EClass" name="NodeAssertionArgument" eSuperTypes="#//AssertionArgument"> | 122 | <eClassifiers xsi:type="ecore:EClass" name="NodeAssertionArgument" eSuperTypes="#//AssertionArgument"> |
123 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | 123 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> |
124 | </eClassifiers> | 124 | </eClassifiers> |
125 | <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> | 125 | <eClassifiers xsi:type="ecore:EClass" name="AssertionArgument" abstract="true"/> |
126 | <eClassifiers xsi:type="ecore:EClass" name="ConstantAssertionArgument" eSuperTypes="#//AssertionArgument"> | 126 | <eClassifiers xsi:type="ecore:EClass" name="ConstantAssertionArgument" eSuperTypes="#//AssertionArgument"> |
127 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" | 127 | <eStructuralFeatures xsi:type="ecore:EReference" name="constant" eType="#//Constant" |
128 | containment="true"/> | 128 | containment="true"/> |
129 | </eClassifiers> | 129 | </eClassifiers> |
130 | <eClassifiers xsi:type="ecore:EClass" name="NodeValueAssertion" eSuperTypes="#//Statement"> | 130 | <eClassifiers xsi:type="ecore:EClass" name="NodeValueAssertion" eSuperTypes="#//Statement"> |
131 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> | 131 | <eStructuralFeatures xsi:type="ecore:EReference" name="node" eType="#//Node"/> |
132 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Constant" | 132 | <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//Constant" |
133 | containment="true"/> | 133 | containment="true"/> |
134 | </eClassifiers> | 134 | </eClassifiers> |
135 | <eClassifiers xsi:type="ecore:EClass" name="UniqueDeclaration" eSuperTypes="#//Statement"> | 135 | <eClassifiers xsi:type="ecore:EClass" name="IndividualDeclaration" eSuperTypes="#//Statement"> |
136 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" | 136 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" |
137 | eType="#//Node" containment="true"/> | 137 | eType="#//Node" containment="true"/> |
138 | </eClassifiers> | 138 | </eClassifiers> |
139 | <eClassifiers xsi:type="ecore:EClass" name="WildcardAssertionArgument" eSuperTypes="#//AssertionArgument"/> | 139 | <eClassifiers xsi:type="ecore:EClass" name="WildcardAssertionArgument" eSuperTypes="#//AssertionArgument"/> |
140 | <eClassifiers xsi:type="ecore:EClass" name="ParametricDefinition" abstract="true" | 140 | <eClassifiers xsi:type="ecore:EClass" name="ParametricDefinition" abstract="true" |
141 | interface="true" eSuperTypes="#//Statement"> | 141 | interface="true" eSuperTypes="#//Statement"> |
142 | <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" | 142 | <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" |
143 | eType="#//Conjunction" containment="true"/> | 143 | eType="#//Conjunction" containment="true"/> |
144 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | 144 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" |
145 | eType="#//Parameter" containment="true"/> | 145 | eType="#//Parameter" containment="true"/> |
146 | </eClassifiers> | 146 | </eClassifiers> |
147 | <eClassifiers xsi:type="ecore:EClass" name="RuleDefinition" eSuperTypes="#//ParametricDefinition #//NamedElement"> | 147 | <eClassifiers xsi:type="ecore:EClass" name="RuleDefinition" eSuperTypes="#//ParametricDefinition #//NamedElement"> |
148 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//RuleKind" | 148 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//RuleKind" |
149 | defaultValueLiteral="DIRECT"/> | 149 | defaultValueLiteral="DIRECT"/> |
150 | <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//Action" | 150 | <eStructuralFeatures xsi:type="ecore:EReference" name="action" eType="#//Action" |
151 | containment="true"/> | 151 | containment="true"/> |
152 | </eClassifiers> | 152 | </eClassifiers> |
153 | <eClassifiers xsi:type="ecore:EClass" name="Action"> | 153 | <eClassifiers xsi:type="ecore:EClass" name="Action"> |
154 | <eStructuralFeatures xsi:type="ecore:EReference" name="actionLiterals" upperBound="-1" | 154 | <eStructuralFeatures xsi:type="ecore:EReference" name="actionLiterals" upperBound="-1" |
155 | eType="#//ActionLiteral" containment="true"/> | 155 | eType="#//ActionLiteral" containment="true"/> |
156 | </eClassifiers> | 156 | </eClassifiers> |
157 | <eClassifiers xsi:type="ecore:EClass" name="ActionLiteral" abstract="true"/> | 157 | <eClassifiers xsi:type="ecore:EClass" name="ActionLiteral" abstract="true"/> |
158 | <eClassifiers xsi:type="ecore:EClass" name="ValueActionLiteral" eSuperTypes="#//ActionLiteral"> | 158 | <eClassifiers xsi:type="ecore:EClass" name="ValueActionLiteral" eSuperTypes="#//ActionLiteral"> |
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="refinement" 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="DeleteActionLiteral" eSuperTypes="#//ActionLiteral"> |
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="NewActionLiteral" eSuperTypes="#//ActionLiteral"> |
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 | </eClassifiers> | 171 | </eClassifiers> |
172 | <eClassifiers xsi:type="ecore:EClass" name="NewVariable" eSuperTypes="#//Variable"/> | 172 | <eClassifiers xsi:type="ecore:EClass" name="NewVariable" eSuperTypes="#//Variable"/> |
173 | <eClassifiers xsi:type="ecore:EClass" name="CompoundLiteral" abstract="true" eSuperTypes="#//Literal"> | 173 | <eClassifiers xsi:type="ecore:EClass" name="CompoundLiteral" abstract="true" eSuperTypes="#//Literal"> |
174 | <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> | 174 | <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> |
175 | </eClassifiers> | 175 | </eClassifiers> |
176 | <eClassifiers xsi:type="ecore:EClass" name="ValueLiteral" eSuperTypes="#//CompoundLiteral"> | 176 | <eClassifiers xsi:type="ecore:EClass" name="ValueLiteral" eSuperTypes="#//CompoundLiteral"> |
177 | <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" | 177 | <eStructuralFeatures xsi:type="ecore:EReference" name="values" upperBound="-1" |
178 | eType="#//LogicConstant" containment="true"/> | 178 | eType="#//LogicConstant" containment="true"/> |
179 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="refinement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | 179 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="refinement" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> |
180 | </eClassifiers> | 180 | </eClassifiers> |
181 | <eClassifiers xsi:type="ecore:EClass" name="LogicConstant"> | 181 | <eClassifiers xsi:type="ecore:EClass" name="LogicConstant"> |
182 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | 182 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> |
183 | </eClassifiers> | 183 | </eClassifiers> |
184 | <eClassifiers xsi:type="ecore:EEnum" name="PredicateKind"> | 184 | <eClassifiers xsi:type="ecore:EEnum" name="PredicateKind"> |
185 | <eLiterals name="PARTIAL"/> | 185 | <eLiterals name="PARTIAL"/> |
186 | <eLiterals name="DIRECT" value="1"/> | 186 | <eLiterals name="DIRECT" value="1"/> |
187 | </eClassifiers> | 187 | </eClassifiers> |
188 | <eClassifiers xsi:type="ecore:EEnum" name="RuleKind"> | 188 | <eClassifiers xsi:type="ecore:EEnum" name="RuleKind"> |
189 | <eLiterals name="DIRECT"/> | 189 | <eLiterals name="DIRECT"/> |
190 | </eClassifiers> | 190 | </eClassifiers> |
191 | </ecore:EPackage> | 191 | </ecore:EPackage> |
diff --git a/language-model/src/main/resources/model/problem.genmodel b/language-model/src/main/resources/model/problem.genmodel index 3a244742..094533e7 100644 --- a/language-model/src/main/resources/model/problem.genmodel +++ b/language-model/src/main/resources/model/problem.genmodel | |||
@@ -1,165 +1,165 @@ | |||
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:xsi="http://www.w3.org/2001/XMLSchema-instance" | 2 | <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" | 3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" |
4 | modelDirectory="/language-model/src/main/emf-gen" creationIcons="false" | 4 | modelDirectory="/language-model/src/main/emf-gen" creationIcons="false" |
5 | editDirectory="/language-edit/src/main/emf-gen" editorDirectory="/org.eclipse.viatra.solver.language.model.editor/src-gen" | 5 | editDirectory="/language-edit/src/main/emf-gen" editorDirectory="/org.eclipse.viatra.solver.language.model.editor/src-gen" |
6 | modelPluginID="language-model" modelName="Problem" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" | 6 | modelPluginID="language-model" modelName="Problem" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" |
7 | codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" | 7 | codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" |
8 | copyrightFields="false" operationReflection="true" importOrganizing="true"> | 8 | copyrightFields="false" operationReflection="true" importOrganizing="true"> |
9 | <foreignModel>problem.ecore</foreignModel> | 9 | <foreignModel>problem.ecore</foreignModel> |
10 | <testsDirectory xsi:nil="true"/> | 10 | <testsDirectory xsi:nil="true"/> |
11 | <genPackages prefix="Problem" basePackage="tools.refinery.language.model" resource="XMI" | 11 | <genPackages prefix="Problem" basePackage="tools.refinery.language.model" resource="XMI" |
12 | disposableProviderFactory="true" fileExtensions="problem_xmi" ecorePackage="problem.ecore#/"> | 12 | disposableProviderFactory="true" fileExtensions="problem_xmi" ecorePackage="problem.ecore#/"> |
13 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//LogicValue"> | 13 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//LogicValue"> |
14 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/TRUE"/> | 14 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/TRUE"/> |
15 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/FALSE"/> | 15 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/FALSE"/> |
16 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/> | 16 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/> |
17 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/ERROR"/> | 17 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/ERROR"/> |
18 | </genEnums> | 18 | </genEnums> |
19 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//PredicateKind"> | 19 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//PredicateKind"> |
20 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/PARTIAL"/> | 20 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/PARTIAL"/> |
21 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/DIRECT"/> | 21 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//PredicateKind/DIRECT"/> |
22 | </genEnums> | 22 | </genEnums> |
23 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//RuleKind"> | 23 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//RuleKind"> |
24 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//RuleKind/DIRECT"/> | 24 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//RuleKind/DIRECT"/> |
25 | </genEnums> | 25 | </genEnums> |
26 | <genClasses ecoreClass="problem.ecore#//Problem"> | 26 | <genClasses ecoreClass="problem.ecore#//Problem"> |
27 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> | 27 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> |
28 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> | 28 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> |
29 | </genClasses> | 29 | </genClasses> |
30 | <genClasses ecoreClass="problem.ecore#//Relation"/> | 30 | <genClasses ecoreClass="problem.ecore#//Relation"/> |
31 | <genClasses ecoreClass="problem.ecore#//ClassDeclaration"> | 31 | <genClasses ecoreClass="problem.ecore#//ClassDeclaration"> |
32 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> | 32 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> |
33 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> | 33 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> |
34 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> | 34 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> |
35 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/> | 35 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/newNode"/> |
36 | </genClasses> | 36 | </genClasses> |
37 | <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> | 37 | <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> |
38 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> | 38 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> |
39 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/> | 39 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/> |
40 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/containment"/> | 40 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/containment"/> |
41 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/> | 41 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/> |
42 | </genClasses> | 42 | </genClasses> |
43 | <genClasses ecoreClass="problem.ecore#//NamedElement"> | 43 | <genClasses ecoreClass="problem.ecore#//NamedElement"> |
44 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/> | 44 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/> |
45 | </genClasses> | 45 | </genClasses> |
46 | <genClasses ecoreClass="problem.ecore#//PredicateDefinition"> | 46 | <genClasses ecoreClass="problem.ecore#//PredicateDefinition"> |
47 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/error"/> | 47 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/error"/> |
48 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/kind"/> | 48 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/kind"/> |
49 | </genClasses> | 49 | </genClasses> |
50 | <genClasses ecoreClass="problem.ecore#//Parameter"> | 50 | <genClasses ecoreClass="problem.ecore#//Parameter"> |
51 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/> | 51 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/> |
52 | </genClasses> | 52 | </genClasses> |
53 | <genClasses ecoreClass="problem.ecore#//Variable"/> | 53 | <genClasses ecoreClass="problem.ecore#//Variable"/> |
54 | <genClasses ecoreClass="problem.ecore#//Conjunction"> | 54 | <genClasses ecoreClass="problem.ecore#//Conjunction"> |
55 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Conjunction/literals"/> | 55 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Conjunction/literals"/> |
56 | </genClasses> | 56 | </genClasses> |
57 | <genClasses ecoreClass="problem.ecore#//Literal"/> | 57 | <genClasses ecoreClass="problem.ecore#//Literal"/> |
58 | <genClasses ecoreClass="problem.ecore#//Atom"> | 58 | <genClasses ecoreClass="problem.ecore#//Atom"> |
59 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/> | 59 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/> |
60 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/> | 60 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/> |
61 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/> | 61 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/> |
62 | </genClasses> | 62 | </genClasses> |
63 | <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/> | 63 | <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/> |
64 | <genClasses ecoreClass="problem.ecore#//NegativeLiteral"/> | 64 | <genClasses ecoreClass="problem.ecore#//NegativeLiteral"/> |
65 | <genClasses ecoreClass="problem.ecore#//ExistentialQuantifier"> | 65 | <genClasses ecoreClass="problem.ecore#//ExistentialQuantifier"> |
66 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/> | 66 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/> |
67 | </genClasses> | 67 | </genClasses> |
68 | <genClasses ecoreClass="problem.ecore#//Assertion"> | 68 | <genClasses ecoreClass="problem.ecore#//Assertion"> |
69 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> | 69 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> |
70 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> | 70 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> |
71 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> | 71 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> |
72 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/default"/> | 72 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/default"/> |
73 | </genClasses> | 73 | </genClasses> |
74 | <genClasses ecoreClass="problem.ecore#//Node"/> | 74 | <genClasses ecoreClass="problem.ecore#//Node"/> |
75 | <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> | 75 | <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> |
76 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ScopeDeclaration/typeScopes"/> | 76 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ScopeDeclaration/typeScopes"/> |
77 | </genClasses> | 77 | </genClasses> |
78 | <genClasses ecoreClass="problem.ecore#//Statement"/> | 78 | <genClasses ecoreClass="problem.ecore#//Statement"/> |
79 | <genClasses ecoreClass="problem.ecore#//TypeScope"> | 79 | <genClasses ecoreClass="problem.ecore#//TypeScope"> |
80 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/targetType"/> | 80 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/targetType"/> |
81 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//TypeScope/increment"/> | 81 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//TypeScope/increment"/> |
82 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/multiplicity"/> | 82 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/multiplicity"/> |
83 | </genClasses> | 83 | </genClasses> |
84 | <genClasses ecoreClass="problem.ecore#//Multiplicity"/> | 84 | <genClasses ecoreClass="problem.ecore#//Multiplicity"/> |
85 | <genClasses ecoreClass="problem.ecore#//RangeMultiplicity"> | 85 | <genClasses ecoreClass="problem.ecore#//RangeMultiplicity"> |
86 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/lowerBound"/> | 86 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/lowerBound"/> |
87 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/upperBound"/> | 87 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/upperBound"/> |
88 | </genClasses> | 88 | </genClasses> |
89 | <genClasses ecoreClass="problem.ecore#//ExactMultiplicity"> | 89 | <genClasses ecoreClass="problem.ecore#//ExactMultiplicity"> |
90 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> | 90 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> |
91 | </genClasses> | 91 | </genClasses> |
92 | <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> | 92 | <genClasses ecoreClass="problem.ecore#//UnboundedMultiplicity"/> |
93 | <genClasses ecoreClass="problem.ecore#//VariableOrNodeArgument"> | 93 | <genClasses ecoreClass="problem.ecore#//VariableOrNodeArgument"> |
94 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/variableOrNode"/> | 94 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/variableOrNode"/> |
95 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/singletonVariable"/> | 95 | <genFeatures children="true" createChild="true" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//VariableOrNodeArgument/singletonVariable"/> |
96 | </genClasses> | 96 | </genClasses> |
97 | <genClasses ecoreClass="problem.ecore#//EnumDeclaration"> | 97 | <genClasses ecoreClass="problem.ecore#//EnumDeclaration"> |
98 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/> | 98 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//EnumDeclaration/literals"/> |
99 | </genClasses> | 99 | </genClasses> |
100 | <genClasses ecoreClass="problem.ecore#//VariableOrNode"/> | 100 | <genClasses ecoreClass="problem.ecore#//VariableOrNode"/> |
101 | <genClasses ecoreClass="problem.ecore#//Constant"/> | 101 | <genClasses ecoreClass="problem.ecore#//Constant"/> |
102 | <genClasses ecoreClass="problem.ecore#//IntConstant"> | 102 | <genClasses ecoreClass="problem.ecore#//IntConstant"> |
103 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//IntConstant/intValue"/> | 103 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//IntConstant/intValue"/> |
104 | </genClasses> | 104 | </genClasses> |
105 | <genClasses ecoreClass="problem.ecore#//RealConstant"> | 105 | <genClasses ecoreClass="problem.ecore#//RealConstant"> |
106 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RealConstant/realValue"/> | 106 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RealConstant/realValue"/> |
107 | </genClasses> | 107 | </genClasses> |
108 | <genClasses ecoreClass="problem.ecore#//StringConstant"> | 108 | <genClasses ecoreClass="problem.ecore#//StringConstant"> |
109 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//StringConstant/stringValue"/> | 109 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//StringConstant/stringValue"/> |
110 | </genClasses> | 110 | </genClasses> |
111 | <genClasses ecoreClass="problem.ecore#//ConstantArgument"> | 111 | <genClasses ecoreClass="problem.ecore#//ConstantArgument"> |
112 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantArgument/constant"/> | 112 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantArgument/constant"/> |
113 | </genClasses> | 113 | </genClasses> |
114 | <genClasses ecoreClass="problem.ecore#//Argument"/> | 114 | <genClasses ecoreClass="problem.ecore#//Argument"/> |
115 | <genClasses ecoreClass="problem.ecore#//NodeAssertionArgument"> | 115 | <genClasses ecoreClass="problem.ecore#//NodeAssertionArgument"> |
116 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/> | 116 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeAssertionArgument/node"/> |
117 | </genClasses> | 117 | </genClasses> |
118 | <genClasses ecoreClass="problem.ecore#//AssertionArgument"/> | 118 | <genClasses ecoreClass="problem.ecore#//AssertionArgument"/> |
119 | <genClasses ecoreClass="problem.ecore#//ConstantAssertionArgument"> | 119 | <genClasses ecoreClass="problem.ecore#//ConstantAssertionArgument"> |
120 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/constant"/> | 120 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ConstantAssertionArgument/constant"/> |
121 | </genClasses> | 121 | </genClasses> |
122 | <genClasses ecoreClass="problem.ecore#//NodeValueAssertion"> | 122 | <genClasses ecoreClass="problem.ecore#//NodeValueAssertion"> |
123 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/node"/> | 123 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/node"/> |
124 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/value"/> | 124 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NodeValueAssertion/value"/> |
125 | </genClasses> | 125 | </genClasses> |
126 | <genClasses ecoreClass="problem.ecore#//UniqueDeclaration"> | 126 | <genClasses ecoreClass="problem.ecore#//IndividualDeclaration"> |
127 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//UniqueDeclaration/nodes"/> | 127 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//IndividualDeclaration/nodes"/> |
128 | </genClasses> | 128 | </genClasses> |
129 | <genClasses ecoreClass="problem.ecore#//WildcardAssertionArgument"/> | 129 | <genClasses ecoreClass="problem.ecore#//WildcardAssertionArgument"/> |
130 | <genClasses ecoreClass="problem.ecore#//ParametricDefinition"> | 130 | <genClasses ecoreClass="problem.ecore#//ParametricDefinition"> |
131 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ParametricDefinition/bodies"/> | 131 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ParametricDefinition/bodies"/> |
132 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ParametricDefinition/parameters"/> | 132 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ParametricDefinition/parameters"/> |
133 | </genClasses> | 133 | </genClasses> |
134 | <genClasses ecoreClass="problem.ecore#//RuleDefinition"> | 134 | <genClasses ecoreClass="problem.ecore#//RuleDefinition"> |
135 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RuleDefinition/kind"/> | 135 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RuleDefinition/kind"/> |
136 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//RuleDefinition/action"/> | 136 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//RuleDefinition/action"/> |
137 | </genClasses> | 137 | </genClasses> |
138 | <genClasses ecoreClass="problem.ecore#//Action"> | 138 | <genClasses ecoreClass="problem.ecore#//Action"> |
139 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Action/actionLiterals"/> | 139 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Action/actionLiterals"/> |
140 | </genClasses> | 140 | </genClasses> |
141 | <genClasses ecoreClass="problem.ecore#//ActionLiteral"/> | 141 | <genClasses ecoreClass="problem.ecore#//ActionLiteral"/> |
142 | <genClasses ecoreClass="problem.ecore#//ValueActionLiteral"> | 142 | <genClasses ecoreClass="problem.ecore#//ValueActionLiteral"> |
143 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ValueActionLiteral/atom"/> | 143 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ValueActionLiteral/atom"/> |
144 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueActionLiteral/value"/> | 144 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueActionLiteral/value"/> |
145 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueActionLiteral/refinement"/> | 145 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueActionLiteral/refinement"/> |
146 | </genClasses> | 146 | </genClasses> |
147 | <genClasses ecoreClass="problem.ecore#//DeleteActionLiteral"> | 147 | <genClasses ecoreClass="problem.ecore#//DeleteActionLiteral"> |
148 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//DeleteActionLiteral/variableOrNode"/> | 148 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//DeleteActionLiteral/variableOrNode"/> |
149 | </genClasses> | 149 | </genClasses> |
150 | <genClasses ecoreClass="problem.ecore#//NewActionLiteral"> | 150 | <genClasses ecoreClass="problem.ecore#//NewActionLiteral"> |
151 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NewActionLiteral/variable"/> | 151 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NewActionLiteral/variable"/> |
152 | </genClasses> | 152 | </genClasses> |
153 | <genClasses ecoreClass="problem.ecore#//NewVariable"/> | 153 | <genClasses ecoreClass="problem.ecore#//NewVariable"/> |
154 | <genClasses ecoreClass="problem.ecore#//CompoundLiteral"> | 154 | <genClasses ecoreClass="problem.ecore#//CompoundLiteral"> |
155 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//CompoundLiteral/atom"/> | 155 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//CompoundLiteral/atom"/> |
156 | </genClasses> | 156 | </genClasses> |
157 | <genClasses ecoreClass="problem.ecore#//ValueLiteral"> | 157 | <genClasses ecoreClass="problem.ecore#//ValueLiteral"> |
158 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ValueLiteral/values"/> | 158 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ValueLiteral/values"/> |
159 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueLiteral/refinement"/> | 159 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ValueLiteral/refinement"/> |
160 | </genClasses> | 160 | </genClasses> |
161 | <genClasses ecoreClass="problem.ecore#//LogicConstant"> | 161 | <genClasses ecoreClass="problem.ecore#//LogicConstant"> |
162 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/value"/> | 162 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//LogicConstant/value"/> |
163 | </genClasses> | 163 | </genClasses> |
164 | </genPackages> | 164 | </genPackages> |
165 | </genmodel:GenModel> | 165 | </genmodel:GenModel> |
diff --git a/language-model/src/testFixtures/java/tools/refinery/language/model/tests/ProblemTestUtil.java b/language-model/src/testFixtures/java/tools/refinery/language/model/tests/ProblemTestUtil.java index dadc5330..d0990dc0 100644 --- a/language-model/src/testFixtures/java/tools/refinery/language/model/tests/ProblemTestUtil.java +++ b/language-model/src/testFixtures/java/tools/refinery/language/model/tests/ProblemTestUtil.java | |||
@@ -16,6 +16,7 @@ import tools.refinery.language.model.problem.ClassDeclaration; | |||
16 | import tools.refinery.language.model.problem.Conjunction; | 16 | import tools.refinery.language.model.problem.Conjunction; |
17 | import tools.refinery.language.model.problem.DeleteActionLiteral; | 17 | import tools.refinery.language.model.problem.DeleteActionLiteral; |
18 | import tools.refinery.language.model.problem.EnumDeclaration; | 18 | import tools.refinery.language.model.problem.EnumDeclaration; |
19 | import tools.refinery.language.model.problem.IndividualDeclaration; | ||
19 | import tools.refinery.language.model.problem.Literal; | 20 | import tools.refinery.language.model.problem.Literal; |
20 | import tools.refinery.language.model.problem.NamedElement; | 21 | import tools.refinery.language.model.problem.NamedElement; |
21 | import tools.refinery.language.model.problem.NegativeLiteral; | 22 | import tools.refinery.language.model.problem.NegativeLiteral; |
@@ -31,7 +32,6 @@ import tools.refinery.language.model.problem.ReferenceDeclaration; | |||
31 | import tools.refinery.language.model.problem.Relation; | 32 | import tools.refinery.language.model.problem.Relation; |
32 | import tools.refinery.language.model.problem.RuleDefinition; | 33 | import tools.refinery.language.model.problem.RuleDefinition; |
33 | import tools.refinery.language.model.problem.Statement; | 34 | import tools.refinery.language.model.problem.Statement; |
34 | import tools.refinery.language.model.problem.UniqueDeclaration; | ||
35 | import tools.refinery.language.model.problem.ValueActionLiteral; | 35 | import tools.refinery.language.model.problem.ValueActionLiteral; |
36 | import tools.refinery.language.model.problem.ValueLiteral; | 36 | import tools.refinery.language.model.problem.ValueLiteral; |
37 | import tools.refinery.language.model.problem.Variable; | 37 | import tools.refinery.language.model.problem.Variable; |
@@ -148,8 +148,8 @@ public class ProblemTestUtil { | |||
148 | return named(problem.getNodes(), name); | 148 | return named(problem.getNodes(), name); |
149 | } | 149 | } |
150 | 150 | ||
151 | public Node uniqueNode(Problem problem, String name) { | 151 | public Node individualNode(Problem problem, String name) { |
152 | var uniqueNodes = statementsOfType(problem, UniqueDeclaration.class) | 152 | var uniqueNodes = statementsOfType(problem, IndividualDeclaration.class) |
153 | .flatMap(declaration -> declaration.getNodes().stream()); | 153 | .flatMap(declaration -> declaration.getNodes().stream()); |
154 | return named(uniqueNodes, name); | 154 | return named(uniqueNodes, name); |
155 | } | 155 | } |