aboutsummaryrefslogtreecommitdiffstats
path: root/language-model/src/main
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-05 19:33:25 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2021-11-05 20:00:06 +0100
commita951628de0ce9902222ed290a1345c145f8af01a (patch)
treead8414c17edebe50912bf87a26ed5509feb91683 /language-model/src/main
parentMerge pull request #10 from kris7t/cm6-fixes (diff)
downloadrefinery-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/main')
-rw-r--r--language-model/src/main/java/tools/refinery/language/model/ProblemUtil.java4
-rw-r--r--language-model/src/main/resources/model/problem.ecore382
-rw-r--r--language-model/src/main/resources/model/problem.genmodel330
3 files changed, 358 insertions, 358 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>