aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.ecore
diff options
context:
space:
mode:
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.ecore94
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>