diff options
Diffstat (limited to 'org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources')
2 files changed, 181 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> | ||
diff --git a/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel new file mode 100644 index 00000000..2dfe62e6 --- /dev/null +++ b/org.eclipse.viatra.solver.language.parent/org.eclipse.viatra.solver.language.model/src/main/resources/model/problem.genmodel | |||
@@ -0,0 +1,87 @@ | |||
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" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" | ||
4 | modelDirectory="/org.eclipse.viatra.solver.language.model/src/main/emf-gen" | ||
5 | creationIcons="false" editDirectory="/org.eclipse.viatra.solver.language.model.edit/src-gen" | ||
6 | editorDirectory="/org.eclipse.viatra.solver.language.model.editor/src-gen" modelPluginID="org.eclipse.viatra.solver.language.model" | ||
7 | modelName="Problem" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" | ||
8 | codeFormatting="true" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" | ||
9 | copyrightFields="false" operationReflection="true" importOrganizing="true"> | ||
10 | <foreignModel>problem.ecore</foreignModel> | ||
11 | <testsDirectory xsi:nil="true"/> | ||
12 | <genPackages prefix="Problem" basePackage="org.eclipse.viatra.solver.language.model" | ||
13 | disposableProviderFactory="true" ecorePackage="problem.ecore#/"> | ||
14 | <genEnums typeSafeEnumCompatible="false" ecoreEnum="problem.ecore#//LogicValue"> | ||
15 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/TRUE"/> | ||
16 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/FALSE"/> | ||
17 | <genEnumLiterals ecoreEnumLiteral="problem.ecore#//LogicValue/UNKNOWN"/> | ||
18 | </genEnums> | ||
19 | <genClasses ecoreClass="problem.ecore#//Problem"> | ||
20 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/nodes"/> | ||
21 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Problem/statements"/> | ||
22 | </genClasses> | ||
23 | <genClasses ecoreClass="problem.ecore#//Relation"/> | ||
24 | <genClasses ecoreClass="problem.ecore#//ClassDeclaration"> | ||
25 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ClassDeclaration/abstract"/> | ||
26 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/superTypes"/> | ||
27 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ClassDeclaration/referenceDeclarations"/> | ||
28 | </genClasses> | ||
29 | <genClasses ecoreClass="problem.ecore#//ReferenceDeclaration"> | ||
30 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/referenceType"/> | ||
31 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/opposite"/> | ||
32 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ReferenceDeclaration/containment"/> | ||
33 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ReferenceDeclaration/multiplicity"/> | ||
34 | </genClasses> | ||
35 | <genClasses ecoreClass="problem.ecore#//NamedElement"> | ||
36 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//NamedElement/name"/> | ||
37 | </genClasses> | ||
38 | <genClasses ecoreClass="problem.ecore#//PredicateDefinition"> | ||
39 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//PredicateDefinition/error"/> | ||
40 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//PredicateDefinition/parameters"/> | ||
41 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//PredicateDefinition/bodies"/> | ||
42 | </genClasses> | ||
43 | <genClasses ecoreClass="problem.ecore#//Parameter"> | ||
44 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Parameter/parameterType"/> | ||
45 | </genClasses> | ||
46 | <genClasses ecoreClass="problem.ecore#//Variable"/> | ||
47 | <genClasses ecoreClass="problem.ecore#//Conjunction"> | ||
48 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//Conjunction/literals"/> | ||
49 | </genClasses> | ||
50 | <genClasses ecoreClass="problem.ecore#//Literal"/> | ||
51 | <genClasses ecoreClass="problem.ecore#//Atom"> | ||
52 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/relation"/> | ||
53 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Atom/arguments"/> | ||
54 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Atom/transitiveClosure"/> | ||
55 | </genClasses> | ||
56 | <genClasses ecoreClass="problem.ecore#//ImplicitVariable"/> | ||
57 | <genClasses ecoreClass="problem.ecore#//NegativeLiteral"> | ||
58 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//NegativeLiteral/atom"/> | ||
59 | </genClasses> | ||
60 | <genClasses ecoreClass="problem.ecore#//ExistentialQuantifier"> | ||
61 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ExistentialQuantifier/implicitVariables"/> | ||
62 | </genClasses> | ||
63 | <genClasses ecoreClass="problem.ecore#//Assertion"> | ||
64 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/relation"/> | ||
65 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//Assertion/arguments"/> | ||
66 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//Assertion/value"/> | ||
67 | </genClasses> | ||
68 | <genClasses ecoreClass="problem.ecore#//Node"/> | ||
69 | <genClasses ecoreClass="problem.ecore#//ScopeDeclaration"> | ||
70 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//ScopeDeclaration/typeScopes"/> | ||
71 | </genClasses> | ||
72 | <genClasses ecoreClass="problem.ecore#//Statement"/> | ||
73 | <genClasses ecoreClass="problem.ecore#//TypeScope"> | ||
74 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/targetType"/> | ||
75 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//TypeScope/increment"/> | ||
76 | <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference problem.ecore#//TypeScope/multiplicity"/> | ||
77 | </genClasses> | ||
78 | <genClasses ecoreClass="problem.ecore#//Multiplicity"/> | ||
79 | <genClasses ecoreClass="problem.ecore#//RangeMultiplicity"> | ||
80 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/lowerBound"/> | ||
81 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//RangeMultiplicity/upperBound"/> | ||
82 | </genClasses> | ||
83 | <genClasses ecoreClass="problem.ecore#//ExactMultiplicity"> | ||
84 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute problem.ecore#//ExactMultiplicity/exactValue"/> | ||
85 | </genClasses> | ||
86 | </genPackages> | ||
87 | </genmodel:GenModel> | ||