diff options
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore')
-rw-r--r-- | org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore new file mode 100644 index 00000000..9b87280d --- /dev/null +++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore | |||
@@ -0,0 +1,94 @@ | |||
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"> | ||
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="#//ClassDeclaration"/> | ||
16 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceDeclarations" | ||
17 | upperBound="-1" eType="#//ReferenceDeclaration" containment="true"/> | ||
18 | </eClassifiers> | ||
19 | <eClassifiers xsi:type="ecore:EClass" name="ReferenceDeclaration" eSuperTypes="#//Relation"> | ||
20 | <eStructuralFeatures xsi:type="ecore:EReference" name="referenceType" eType="#//ClassDeclaration"/> | ||
21 | <eStructuralFeatures xsi:type="ecore:EReference" name="opposite" eType="#//ReferenceDeclaration"/> | ||
22 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="containment" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
23 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
24 | containment="true"/> | ||
25 | </eClassifiers> | ||
26 | <eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true"> | ||
27 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
28 | </eClassifiers> | ||
29 | <eClassifiers xsi:type="ecore:EClass" name="PredicateDefinition" eSuperTypes="#//Relation #//Statement"> | ||
30 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
31 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameters" upperBound="-1" | ||
32 | eType="#//Parameter" containment="true"/> | ||
33 | <eStructuralFeatures xsi:type="ecore:EReference" name="bodies" upperBound="-1" | ||
34 | eType="#//Conjunction" containment="true"/> | ||
35 | </eClassifiers> | ||
36 | <eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"> | ||
37 | <eStructuralFeatures xsi:type="ecore:EReference" name="parameterType" eType="#//ClassDeclaration"/> | ||
38 | </eClassifiers> | ||
39 | <eClassifiers xsi:type="ecore:EClass" name="Variable" abstract="true" eSuperTypes="#//NamedElement"/> | ||
40 | <eClassifiers xsi:type="ecore:EClass" name="Conjunction" eSuperTypes="#//ExistentialQuantifier"> | ||
41 | <eStructuralFeatures xsi:type="ecore:EReference" name="literals" upperBound="-1" | ||
42 | eType="#//Literal" containment="true"/> | ||
43 | </eClassifiers> | ||
44 | <eClassifiers xsi:type="ecore:EClass" name="Literal" abstract="true"/> | ||
45 | <eClassifiers xsi:type="ecore:EClass" name="Atom" eSuperTypes="#//Literal"> | ||
46 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | ||
47 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
48 | eType="#//Variable"/> | ||
49 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="transitiveClosure" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/> | ||
50 | </eClassifiers> | ||
51 | <eClassifiers xsi:type="ecore:EClass" name="ImplicitVariable" eSuperTypes="#//Variable"/> | ||
52 | <eClassifiers xsi:type="ecore:EClass" name="NegativeLiteral" eSuperTypes="#//ExistentialQuantifier #//Literal"> | ||
53 | <eStructuralFeatures xsi:type="ecore:EReference" name="atom" eType="#//Atom" containment="true"/> | ||
54 | </eClassifiers> | ||
55 | <eClassifiers xsi:type="ecore:EClass" name="ExistentialQuantifier" abstract="true" | ||
56 | interface="true"> | ||
57 | <eStructuralFeatures xsi:type="ecore:EReference" name="implicitVariables" upperBound="-1" | ||
58 | eType="#//ImplicitVariable" containment="true"/> | ||
59 | </eClassifiers> | ||
60 | <eClassifiers xsi:type="ecore:EClass" name="Assertion" eSuperTypes="#//Statement"> | ||
61 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" eType="#//Relation"/> | ||
62 | <eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1" | ||
63 | eType="#//Node"/> | ||
64 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="#//LogicValue"/> | ||
65 | </eClassifiers> | ||
66 | <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//NamedElement"/> | ||
67 | <eClassifiers xsi:type="ecore:EEnum" name="LogicValue"> | ||
68 | <eLiterals name="TRUE" literal="TRUE"/> | ||
69 | <eLiterals name="FALSE" value="1"/> | ||
70 | <eLiterals name="UNKNOWN" value="2"/> | ||
71 | </eClassifiers> | ||
72 | <eClassifiers xsi:type="ecore:EClass" name="ScopeDeclaration" eSuperTypes="#//Statement"> | ||
73 | <eStructuralFeatures xsi:type="ecore:EReference" name="typeScopes" upperBound="-1" | ||
74 | eType="#//TypeScope" containment="true"/> | ||
75 | </eClassifiers> | ||
76 | <eClassifiers xsi:type="ecore:EClass" name="Statement" abstract="true" interface="true"/> | ||
77 | <eClassifiers xsi:type="ecore:EClass" name="TypeScope"> | ||
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"/> | ||
80 | <eStructuralFeatures xsi:type="ecore:EReference" name="multiplicity" eType="#//Multiplicity" | ||
81 | containment="true"/> | ||
82 | </eClassifiers> | ||
83 | <eClassifiers xsi:type="ecore:EClass" name="Multiplicity" abstract="true"/> | ||
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" | ||
86 | defaultValueLiteral="0"/> | ||
87 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
88 | defaultValueLiteral="-1"/> | ||
89 | </eClassifiers> | ||
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" | ||
92 | defaultValueLiteral="1"/> | ||
93 | </eClassifiers> | ||
94 | </ecore:EPackage> | ||