diff options
Diffstat (limited to 'language-model/src/main/resources/model/problem.ecore')
-rw-r--r-- | language-model/src/main/resources/model/problem.ecore | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/language-model/src/main/resources/model/problem.ecore b/language-model/src/main/resources/model/problem.ecore new file mode 100644 index 00000000..99404f61 --- /dev/null +++ b/language-model/src/main/resources/model/problem.ecore | |||
@@ -0,0 +1,107 @@ | |||
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" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="problem" nsURI="http://www.eclipse.org/viatra/solver/language/model/Problem" | ||
4 | nsPrefix="problem"> | ||
5 | <eClassifiers xsi:type="ecore:EClass" name="Problem" eSuperTypes="#//NamedElement"> | ||
6 | <eStructuralFeatures xsi:type="ecore:EReference" name="nodes" upperBound="-1" | ||
7 | eType="#//Node" containment="true"/> | ||
8 | <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" | ||
9 | eType="#//Statement" containment="true"/> | ||
10 | </eClassifiers> | ||
11 | <eClassifiers xsi:type="ecore:EClass" name="Relation" abstract="true" eSuperTypes="#//NamedElement"/> | ||
12 | <eClassifiers xsi:type="ecore:EClass" name="ClassDeclaration" eSuperTypes="#//Relation #//Statement"> | ||
13 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="abstract" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
14 | <eStructuralFeatures xsi:type="ecore:EReference" name="superTypes" upperBound="-1" | ||
15 | eType="#//Relation"/> | ||
16 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" | ||
17 | upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> | ||
18 | <eStructuralFeatures xsi:type="ecore:EReference" name="newNode" eType="#//Node" | ||
19 | containment="true"/> | ||
20 | </eClassifiers> | ||
21 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> | ||
22 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//Relation"/> | ||
23 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> | ||
24 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
25 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
26 | containment="true"/> | ||
27 | </eClassifiers> | ||
28 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> | ||
29 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
30 | </eClassifiers> | ||
31 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//Statement"> | ||
32 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
33 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | ||
34 | eType="#//Parameter" containment="true"/> | ||
35 | <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" | ||
36 | eType="#//Conjunction" containment="true"/> | ||
37 | </eClassifiers> | ||
38 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> | ||
39 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//Relation"/> | ||
40 | </eClassifiers> | ||
41 | <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//VariableOrNode"/> | ||
42 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier"> | ||
43 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | ||
44 | eType="#//Literal" containment="true"/> | ||
45 | </eClassifiers> | ||
46 | <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> | ||
47 | <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal"> | ||
48 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | ||
49 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
50 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
51 | eType="#//Argument" containment="true"/> | ||
52 | </eClassifiers> | ||
53 | <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/> | ||
54 | <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal"> | ||
55 | <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> | ||
56 | </eClassifiers> | ||
57 | <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true" | ||
58 | interface="true"> | ||
59 | <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1" | ||
60 | eType="#//ImplicitVariable" containment="true"/> | ||
61 | </eClassifiers> | ||
62 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | ||
63 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | ||
64 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
65 | eType="#//Node"/> | ||
66 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | ||
67 | </eClassifiers> | ||
68 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//VariableOrNode"/> | ||
69 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | ||
70 | <eLiterals name="TRUE" literal="TRUE"/> | ||
71 | <eLiterals name="FALSE" value="1"/> | ||
72 | <eLiterals name="UNKNOWN" value="2"/> | ||
73 | </eClassifiers> | ||
74 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement"> | ||
75 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1" | ||
76 | eType="#//TypeScope" containment="true"/> | ||
77 | </eClassifiers> | ||
78 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> | ||
79 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> | ||
80 | <eStructuralFeatures xsi:type="ecore:EReference" name="targetType" eType="#//ClassDeclaration"/> | ||
81 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="increment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
82 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
83 | containment="true"/> | ||
84 | </eClassifiers> | ||
85 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/> | ||
86 | <eClassifiers xsi:type="ecore:EClass" name="RangeMultiplicity" eSuperTypes="#//Multiplicity"> | ||
87 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
88 | defaultValueLiteral="0"/> | ||
89 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
90 | defaultValueLiteral="-1"/> | ||
91 | </eClassifiers> | ||
92 | <eClassifiers xsi:type="ecore:EClass" name="ExactMultiplicity" eSuperTypes="#//Multiplicity"> | ||
93 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="exactValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
94 | defaultValueLiteral="1"/> | ||
95 | </eClassifiers> | ||
96 | <eClassifiers xsi:type="ecore:EClass" name="UnboundedMultiplicity" eSuperTypes="#//Multiplicity"/> | ||
97 | <eClassifiers xsi:type="ecore:EClass" name="Argument"> | ||
98 | <eStructuralFeatures xsi:type="ecore:EReference" name="variableOrNode" eType="#//VariableOrNode"/> | ||
99 | <eStructuralFeatures xsi:type="ecore:EReference" name="singletonVariable" eType="#//ImplicitVariable" | ||
100 | containment="true"/> | ||
101 | </eClassifiers> | ||
102 | <eClassifiers xsi:type="ecore:EClass" name="EnumDeclaration" eSuperTypes="#//Relation #//Statement"> | ||
103 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | ||
104 | eType="#//Node" containment="true"/> | ||
105 | </eClassifiers> | ||
106 | <eClassifiers xsi:type="ecore:EClass" name="VariableOrNode" abstract="true" eSuperTypes="#//NamedElement"/> | ||
107 | </ecore:EPackage> | ||