diff options
Diffstat (limited to 'Framework/hu.bme.mit.inf.dslreasoner.ecore2logic')
32 files changed, 3621 insertions, 0 deletions
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath new file mode 100644 index 00000000..a7a95045 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.classpath | |||
@@ -0,0 +1,9 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <classpath> | ||
3 | <classpathentry kind="src" path="ecore-gen"/> | ||
4 | <classpathentry kind="src" path="xtend-gen"/> | ||
5 | <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||
6 | <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | ||
7 | <classpathentry kind="src" path="src"/> | ||
8 | <classpathentry kind="output" path="bin"/> | ||
9 | </classpath> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore new file mode 100644 index 00000000..8ae4e44d --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.gitignore | |||
@@ -0,0 +1,4 @@ | |||
1 | /bin/ | ||
2 | /src-gen/ | ||
3 | /vql-gen/ | ||
4 | /xtend-gen/ | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project new file mode 100644 index 00000000..94e33330 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.project | |||
@@ -0,0 +1,34 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>hu.bme.mit.inf.dslreasoner.ecore2logic</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> | ||
10 | <arguments> | ||
11 | </arguments> | ||
12 | </buildCommand> | ||
13 | <buildCommand> | ||
14 | <name>org.eclipse.jdt.core.javabuilder</name> | ||
15 | <arguments> | ||
16 | </arguments> | ||
17 | </buildCommand> | ||
18 | <buildCommand> | ||
19 | <name>org.eclipse.pde.ManifestBuilder</name> | ||
20 | <arguments> | ||
21 | </arguments> | ||
22 | </buildCommand> | ||
23 | <buildCommand> | ||
24 | <name>org.eclipse.pde.SchemaBuilder</name> | ||
25 | <arguments> | ||
26 | </arguments> | ||
27 | </buildCommand> | ||
28 | </buildSpec> | ||
29 | <natures> | ||
30 | <nature>org.eclipse.pde.PluginNature</nature> | ||
31 | <nature>org.eclipse.jdt.core.javanature</nature> | ||
32 | <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> | ||
33 | </natures> | ||
34 | </projectDescription> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..4824b802 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.core.resources.prefs | |||
@@ -0,0 +1,2 @@ | |||
1 | eclipse.preferences.version=1 | ||
2 | encoding/<project>=UTF-8 | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..295926d9 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/.settings/org.eclipse.jdt.core.prefs | |||
@@ -0,0 +1,7 @@ | |||
1 | eclipse.preferences.version=1 | ||
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
4 | org.eclipse.jdt.core.compiler.compliance=1.8 | ||
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
7 | org.eclipse.jdt.core.compiler.source=1.8 | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF new file mode 100644 index 00000000..f38f6fee --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/META-INF/MANIFEST.MF | |||
@@ -0,0 +1,23 @@ | |||
1 | Manifest-Version: 1.0 | ||
2 | Bundle-ManifestVersion: 2 | ||
3 | Bundle-Name: %pluginName | ||
4 | Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.ecore2logic;singleton:=true | ||
5 | Bundle-Version: 1.0.0.qualifier | ||
6 | Bundle-ClassPath: . | ||
7 | Bundle-Vendor: %providerName | ||
8 | Bundle-Localization: plugin | ||
9 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
10 | Require-Bundle: com.google.guava, | ||
11 | org.eclipse.xtext.xbase.lib, | ||
12 | org.eclipse.xtend.lib, | ||
13 | org.eclipse.xtend.lib.macro, | ||
14 | org.eclipse.core.runtime, | ||
15 | org.eclipse.emf.ecore;visibility:=reexport, | ||
16 | hu.bme.mit.inf.dslreasoner.logic.model;bundle-version="1.0.0";visibility:=reexport, | ||
17 | org.eclipse.emf;bundle-version="2.6.0" | ||
18 | Bundle-ActivationPolicy: lazy | ||
19 | Export-Package: hu.bme.mit.inf.dslreasoner.ecore2logic, | ||
20 | hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations, | ||
21 | hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl, | ||
22 | hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util | ||
23 | |||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties new file mode 100644 index 00000000..72399047 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/build.properties | |||
@@ -0,0 +1,10 @@ | |||
1 | # | ||
2 | |||
3 | bin.includes = .,\ | ||
4 | model/,\ | ||
5 | META-INF/,\ | ||
6 | plugin.xml,\ | ||
7 | plugin.properties | ||
8 | jars.compile.order = . | ||
9 | source.. = ecore-gen/ | ||
10 | output.. = bin/ | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java new file mode 100644 index 00000000..d2781936 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsFactory.java | |||
@@ -0,0 +1,69 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EFactory; | ||
6 | |||
7 | /** | ||
8 | * <!-- begin-user-doc --> | ||
9 | * The <b>Factory</b> for the model. | ||
10 | * It provides a create method for each non-abstract class of the model. | ||
11 | * <!-- end-user-doc --> | ||
12 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage | ||
13 | * @generated | ||
14 | */ | ||
15 | public interface Ecore2logicannotationsFactory extends EFactory { | ||
16 | /** | ||
17 | * The singleton instance of the factory. | ||
18 | * <!-- begin-user-doc --> | ||
19 | * <!-- end-user-doc --> | ||
20 | * @generated | ||
21 | */ | ||
22 | Ecore2logicannotationsFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsFactoryImpl.init(); | ||
23 | |||
24 | /** | ||
25 | * Returns a new object of class '<em>Multiplicity Assertion</em>'. | ||
26 | * <!-- begin-user-doc --> | ||
27 | * <!-- end-user-doc --> | ||
28 | * @return a new object of class '<em>Multiplicity Assertion</em>'. | ||
29 | * @generated | ||
30 | */ | ||
31 | MultiplicityAssertion createMultiplicityAssertion(); | ||
32 | |||
33 | /** | ||
34 | * Returns a new object of class '<em>Inverse Relation Assertion</em>'. | ||
35 | * <!-- begin-user-doc --> | ||
36 | * <!-- end-user-doc --> | ||
37 | * @return a new object of class '<em>Inverse Relation Assertion</em>'. | ||
38 | * @generated | ||
39 | */ | ||
40 | InverseRelationAssertion createInverseRelationAssertion(); | ||
41 | |||
42 | /** | ||
43 | * Returns a new object of class '<em>Lower Multiplicity Assertion</em>'. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @return a new object of class '<em>Lower Multiplicity Assertion</em>'. | ||
47 | * @generated | ||
48 | */ | ||
49 | LowerMultiplicityAssertion createLowerMultiplicityAssertion(); | ||
50 | |||
51 | /** | ||
52 | * Returns a new object of class '<em>Upper Multiplicity Assertion</em>'. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @return a new object of class '<em>Upper Multiplicity Assertion</em>'. | ||
56 | * @generated | ||
57 | */ | ||
58 | UpperMultiplicityAssertion createUpperMultiplicityAssertion(); | ||
59 | |||
60 | /** | ||
61 | * Returns the package supported by this factory. | ||
62 | * <!-- begin-user-doc --> | ||
63 | * <!-- end-user-doc --> | ||
64 | * @return the package supported by this factory. | ||
65 | * @generated | ||
66 | */ | ||
67 | Ecore2logicannotationsPackage getEcore2logicannotationsPackage(); | ||
68 | |||
69 | } //Ecore2logicannotationsFactory | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java new file mode 100644 index 00000000..b53edc84 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/Ecore2logicannotationsPackage.java | |||
@@ -0,0 +1,473 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EAttribute; | ||
8 | import org.eclipse.emf.ecore.EClass; | ||
9 | import org.eclipse.emf.ecore.EPackage; | ||
10 | import org.eclipse.emf.ecore.EReference; | ||
11 | |||
12 | /** | ||
13 | * <!-- begin-user-doc --> | ||
14 | * The <b>Package</b> for the model. | ||
15 | * It contains accessors for the meta objects to represent | ||
16 | * <ul> | ||
17 | * <li>each class,</li> | ||
18 | * <li>each feature of each class,</li> | ||
19 | * <li>each operation of each class,</li> | ||
20 | * <li>each enum,</li> | ||
21 | * <li>and each data type</li> | ||
22 | * </ul> | ||
23 | * <!-- end-user-doc --> | ||
24 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory | ||
25 | * @model kind="package" | ||
26 | * @generated | ||
27 | */ | ||
28 | public interface Ecore2logicannotationsPackage extends EPackage { | ||
29 | /** | ||
30 | * The package name. | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @generated | ||
34 | */ | ||
35 | String eNAME = "ecore2logicannotations"; | ||
36 | |||
37 | /** | ||
38 | * The package namespace URI. | ||
39 | * <!-- begin-user-doc --> | ||
40 | * <!-- end-user-doc --> | ||
41 | * @generated | ||
42 | */ | ||
43 | String eNS_URI = "http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation"; | ||
44 | |||
45 | /** | ||
46 | * The package namespace name. | ||
47 | * <!-- begin-user-doc --> | ||
48 | * <!-- end-user-doc --> | ||
49 | * @generated | ||
50 | */ | ||
51 | String eNS_PREFIX = "ecore2logicannotations"; | ||
52 | |||
53 | /** | ||
54 | * The singleton instance of the package. | ||
55 | * <!-- begin-user-doc --> | ||
56 | * <!-- end-user-doc --> | ||
57 | * @generated | ||
58 | */ | ||
59 | Ecore2logicannotationsPackage eINSTANCE = hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl.init(); | ||
60 | |||
61 | /** | ||
62 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl <em>Multiplicity Assertion</em>}' class. | ||
63 | * <!-- begin-user-doc --> | ||
64 | * <!-- end-user-doc --> | ||
65 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl | ||
66 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getMultiplicityAssertion() | ||
67 | * @generated | ||
68 | */ | ||
69 | int MULTIPLICITY_ASSERTION = 0; | ||
70 | |||
71 | /** | ||
72 | * The feature id for the '<em><b>Target</b></em>' reference. | ||
73 | * <!-- begin-user-doc --> | ||
74 | * <!-- end-user-doc --> | ||
75 | * @generated | ||
76 | * @ordered | ||
77 | */ | ||
78 | int MULTIPLICITY_ASSERTION__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET; | ||
79 | |||
80 | /** | ||
81 | * The feature id for the '<em><b>Relation</b></em>' reference. | ||
82 | * <!-- begin-user-doc --> | ||
83 | * <!-- end-user-doc --> | ||
84 | * @generated | ||
85 | * @ordered | ||
86 | */ | ||
87 | int MULTIPLICITY_ASSERTION__RELATION = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0; | ||
88 | |||
89 | /** | ||
90 | * The number of structural features of the '<em>Multiplicity Assertion</em>' class. | ||
91 | * <!-- begin-user-doc --> | ||
92 | * <!-- end-user-doc --> | ||
93 | * @generated | ||
94 | * @ordered | ||
95 | */ | ||
96 | int MULTIPLICITY_ASSERTION_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1; | ||
97 | |||
98 | /** | ||
99 | * The number of operations of the '<em>Multiplicity Assertion</em>' class. | ||
100 | * <!-- begin-user-doc --> | ||
101 | * <!-- end-user-doc --> | ||
102 | * @generated | ||
103 | * @ordered | ||
104 | */ | ||
105 | int MULTIPLICITY_ASSERTION_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0; | ||
106 | |||
107 | /** | ||
108 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl <em>Inverse Relation Assertion</em>}' class. | ||
109 | * <!-- begin-user-doc --> | ||
110 | * <!-- end-user-doc --> | ||
111 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl | ||
112 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getInverseRelationAssertion() | ||
113 | * @generated | ||
114 | */ | ||
115 | int INVERSE_RELATION_ASSERTION = 1; | ||
116 | |||
117 | /** | ||
118 | * The feature id for the '<em><b>Target</b></em>' reference. | ||
119 | * <!-- begin-user-doc --> | ||
120 | * <!-- end-user-doc --> | ||
121 | * @generated | ||
122 | * @ordered | ||
123 | */ | ||
124 | int INVERSE_RELATION_ASSERTION__TARGET = LogicproblemPackage.ASSERTION_ANNOTATION__TARGET; | ||
125 | |||
126 | /** | ||
127 | * The feature id for the '<em><b>Inverse A</b></em>' reference. | ||
128 | * <!-- begin-user-doc --> | ||
129 | * <!-- end-user-doc --> | ||
130 | * @generated | ||
131 | * @ordered | ||
132 | */ | ||
133 | int INVERSE_RELATION_ASSERTION__INVERSE_A = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 0; | ||
134 | |||
135 | /** | ||
136 | * The feature id for the '<em><b>Inverse B</b></em>' reference. | ||
137 | * <!-- begin-user-doc --> | ||
138 | * <!-- end-user-doc --> | ||
139 | * @generated | ||
140 | * @ordered | ||
141 | */ | ||
142 | int INVERSE_RELATION_ASSERTION__INVERSE_B = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 1; | ||
143 | |||
144 | /** | ||
145 | * The number of structural features of the '<em>Inverse Relation Assertion</em>' class. | ||
146 | * <!-- begin-user-doc --> | ||
147 | * <!-- end-user-doc --> | ||
148 | * @generated | ||
149 | * @ordered | ||
150 | */ | ||
151 | int INVERSE_RELATION_ASSERTION_FEATURE_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_FEATURE_COUNT + 2; | ||
152 | |||
153 | /** | ||
154 | * The number of operations of the '<em>Inverse Relation Assertion</em>' class. | ||
155 | * <!-- begin-user-doc --> | ||
156 | * <!-- end-user-doc --> | ||
157 | * @generated | ||
158 | * @ordered | ||
159 | */ | ||
160 | int INVERSE_RELATION_ASSERTION_OPERATION_COUNT = LogicproblemPackage.ASSERTION_ANNOTATION_OPERATION_COUNT + 0; | ||
161 | |||
162 | /** | ||
163 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl <em>Lower Multiplicity Assertion</em>}' class. | ||
164 | * <!-- begin-user-doc --> | ||
165 | * <!-- end-user-doc --> | ||
166 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl | ||
167 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getLowerMultiplicityAssertion() | ||
168 | * @generated | ||
169 | */ | ||
170 | int LOWER_MULTIPLICITY_ASSERTION = 2; | ||
171 | |||
172 | /** | ||
173 | * The feature id for the '<em><b>Target</b></em>' reference. | ||
174 | * <!-- begin-user-doc --> | ||
175 | * <!-- end-user-doc --> | ||
176 | * @generated | ||
177 | * @ordered | ||
178 | */ | ||
179 | int LOWER_MULTIPLICITY_ASSERTION__TARGET = MULTIPLICITY_ASSERTION__TARGET; | ||
180 | |||
181 | /** | ||
182 | * The feature id for the '<em><b>Relation</b></em>' reference. | ||
183 | * <!-- begin-user-doc --> | ||
184 | * <!-- end-user-doc --> | ||
185 | * @generated | ||
186 | * @ordered | ||
187 | */ | ||
188 | int LOWER_MULTIPLICITY_ASSERTION__RELATION = MULTIPLICITY_ASSERTION__RELATION; | ||
189 | |||
190 | /** | ||
191 | * The feature id for the '<em><b>Lower</b></em>' attribute. | ||
192 | * <!-- begin-user-doc --> | ||
193 | * <!-- end-user-doc --> | ||
194 | * @generated | ||
195 | * @ordered | ||
196 | */ | ||
197 | int LOWER_MULTIPLICITY_ASSERTION__LOWER = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 0; | ||
198 | |||
199 | /** | ||
200 | * The number of structural features of the '<em>Lower Multiplicity Assertion</em>' class. | ||
201 | * <!-- begin-user-doc --> | ||
202 | * <!-- end-user-doc --> | ||
203 | * @generated | ||
204 | * @ordered | ||
205 | */ | ||
206 | int LOWER_MULTIPLICITY_ASSERTION_FEATURE_COUNT = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 1; | ||
207 | |||
208 | /** | ||
209 | * The number of operations of the '<em>Lower Multiplicity Assertion</em>' class. | ||
210 | * <!-- begin-user-doc --> | ||
211 | * <!-- end-user-doc --> | ||
212 | * @generated | ||
213 | * @ordered | ||
214 | */ | ||
215 | int LOWER_MULTIPLICITY_ASSERTION_OPERATION_COUNT = MULTIPLICITY_ASSERTION_OPERATION_COUNT + 0; | ||
216 | |||
217 | /** | ||
218 | * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl <em>Upper Multiplicity Assertion</em>}' class. | ||
219 | * <!-- begin-user-doc --> | ||
220 | * <!-- end-user-doc --> | ||
221 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl | ||
222 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getUpperMultiplicityAssertion() | ||
223 | * @generated | ||
224 | */ | ||
225 | int UPPER_MULTIPLICITY_ASSERTION = 3; | ||
226 | |||
227 | /** | ||
228 | * The feature id for the '<em><b>Target</b></em>' reference. | ||
229 | * <!-- begin-user-doc --> | ||
230 | * <!-- end-user-doc --> | ||
231 | * @generated | ||
232 | * @ordered | ||
233 | */ | ||
234 | int UPPER_MULTIPLICITY_ASSERTION__TARGET = MULTIPLICITY_ASSERTION__TARGET; | ||
235 | |||
236 | /** | ||
237 | * The feature id for the '<em><b>Relation</b></em>' reference. | ||
238 | * <!-- begin-user-doc --> | ||
239 | * <!-- end-user-doc --> | ||
240 | * @generated | ||
241 | * @ordered | ||
242 | */ | ||
243 | int UPPER_MULTIPLICITY_ASSERTION__RELATION = MULTIPLICITY_ASSERTION__RELATION; | ||
244 | |||
245 | /** | ||
246 | * The feature id for the '<em><b>Upper</b></em>' attribute. | ||
247 | * <!-- begin-user-doc --> | ||
248 | * <!-- end-user-doc --> | ||
249 | * @generated | ||
250 | * @ordered | ||
251 | */ | ||
252 | int UPPER_MULTIPLICITY_ASSERTION__UPPER = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 0; | ||
253 | |||
254 | /** | ||
255 | * The number of structural features of the '<em>Upper Multiplicity Assertion</em>' class. | ||
256 | * <!-- begin-user-doc --> | ||
257 | * <!-- end-user-doc --> | ||
258 | * @generated | ||
259 | * @ordered | ||
260 | */ | ||
261 | int UPPER_MULTIPLICITY_ASSERTION_FEATURE_COUNT = MULTIPLICITY_ASSERTION_FEATURE_COUNT + 1; | ||
262 | |||
263 | /** | ||
264 | * The number of operations of the '<em>Upper Multiplicity Assertion</em>' class. | ||
265 | * <!-- begin-user-doc --> | ||
266 | * <!-- end-user-doc --> | ||
267 | * @generated | ||
268 | * @ordered | ||
269 | */ | ||
270 | int UPPER_MULTIPLICITY_ASSERTION_OPERATION_COUNT = MULTIPLICITY_ASSERTION_OPERATION_COUNT + 0; | ||
271 | |||
272 | |||
273 | /** | ||
274 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion <em>Multiplicity Assertion</em>}'. | ||
275 | * <!-- begin-user-doc --> | ||
276 | * <!-- end-user-doc --> | ||
277 | * @return the meta object for class '<em>Multiplicity Assertion</em>'. | ||
278 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion | ||
279 | * @generated | ||
280 | */ | ||
281 | EClass getMultiplicityAssertion(); | ||
282 | |||
283 | /** | ||
284 | * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}'. | ||
285 | * <!-- begin-user-doc --> | ||
286 | * <!-- end-user-doc --> | ||
287 | * @return the meta object for the reference '<em>Relation</em>'. | ||
288 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation() | ||
289 | * @see #getMultiplicityAssertion() | ||
290 | * @generated | ||
291 | */ | ||
292 | EReference getMultiplicityAssertion_Relation(); | ||
293 | |||
294 | /** | ||
295 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion <em>Inverse Relation Assertion</em>}'. | ||
296 | * <!-- begin-user-doc --> | ||
297 | * <!-- end-user-doc --> | ||
298 | * @return the meta object for class '<em>Inverse Relation Assertion</em>'. | ||
299 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion | ||
300 | * @generated | ||
301 | */ | ||
302 | EClass getInverseRelationAssertion(); | ||
303 | |||
304 | /** | ||
305 | * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}'. | ||
306 | * <!-- begin-user-doc --> | ||
307 | * <!-- end-user-doc --> | ||
308 | * @return the meta object for the reference '<em>Inverse A</em>'. | ||
309 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA() | ||
310 | * @see #getInverseRelationAssertion() | ||
311 | * @generated | ||
312 | */ | ||
313 | EReference getInverseRelationAssertion_InverseA(); | ||
314 | |||
315 | /** | ||
316 | * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}'. | ||
317 | * <!-- begin-user-doc --> | ||
318 | * <!-- end-user-doc --> | ||
319 | * @return the meta object for the reference '<em>Inverse B</em>'. | ||
320 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB() | ||
321 | * @see #getInverseRelationAssertion() | ||
322 | * @generated | ||
323 | */ | ||
324 | EReference getInverseRelationAssertion_InverseB(); | ||
325 | |||
326 | /** | ||
327 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion <em>Lower Multiplicity Assertion</em>}'. | ||
328 | * <!-- begin-user-doc --> | ||
329 | * <!-- end-user-doc --> | ||
330 | * @return the meta object for class '<em>Lower Multiplicity Assertion</em>'. | ||
331 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion | ||
332 | * @generated | ||
333 | */ | ||
334 | EClass getLowerMultiplicityAssertion(); | ||
335 | |||
336 | /** | ||
337 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}'. | ||
338 | * <!-- begin-user-doc --> | ||
339 | * <!-- end-user-doc --> | ||
340 | * @return the meta object for the attribute '<em>Lower</em>'. | ||
341 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower() | ||
342 | * @see #getLowerMultiplicityAssertion() | ||
343 | * @generated | ||
344 | */ | ||
345 | EAttribute getLowerMultiplicityAssertion_Lower(); | ||
346 | |||
347 | /** | ||
348 | * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion <em>Upper Multiplicity Assertion</em>}'. | ||
349 | * <!-- begin-user-doc --> | ||
350 | * <!-- end-user-doc --> | ||
351 | * @return the meta object for class '<em>Upper Multiplicity Assertion</em>'. | ||
352 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion | ||
353 | * @generated | ||
354 | */ | ||
355 | EClass getUpperMultiplicityAssertion(); | ||
356 | |||
357 | /** | ||
358 | * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}'. | ||
359 | * <!-- begin-user-doc --> | ||
360 | * <!-- end-user-doc --> | ||
361 | * @return the meta object for the attribute '<em>Upper</em>'. | ||
362 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper() | ||
363 | * @see #getUpperMultiplicityAssertion() | ||
364 | * @generated | ||
365 | */ | ||
366 | EAttribute getUpperMultiplicityAssertion_Upper(); | ||
367 | |||
368 | /** | ||
369 | * Returns the factory that creates the instances of the model. | ||
370 | * <!-- begin-user-doc --> | ||
371 | * <!-- end-user-doc --> | ||
372 | * @return the factory that creates the instances of the model. | ||
373 | * @generated | ||
374 | */ | ||
375 | Ecore2logicannotationsFactory getEcore2logicannotationsFactory(); | ||
376 | |||
377 | /** | ||
378 | * <!-- begin-user-doc --> | ||
379 | * Defines literals for the meta objects that represent | ||
380 | * <ul> | ||
381 | * <li>each class,</li> | ||
382 | * <li>each feature of each class,</li> | ||
383 | * <li>each operation of each class,</li> | ||
384 | * <li>each enum,</li> | ||
385 | * <li>and each data type</li> | ||
386 | * </ul> | ||
387 | * <!-- end-user-doc --> | ||
388 | * @generated | ||
389 | */ | ||
390 | interface Literals { | ||
391 | /** | ||
392 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl <em>Multiplicity Assertion</em>}' class. | ||
393 | * <!-- begin-user-doc --> | ||
394 | * <!-- end-user-doc --> | ||
395 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl | ||
396 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getMultiplicityAssertion() | ||
397 | * @generated | ||
398 | */ | ||
399 | EClass MULTIPLICITY_ASSERTION = eINSTANCE.getMultiplicityAssertion(); | ||
400 | |||
401 | /** | ||
402 | * The meta object literal for the '<em><b>Relation</b></em>' reference feature. | ||
403 | * <!-- begin-user-doc --> | ||
404 | * <!-- end-user-doc --> | ||
405 | * @generated | ||
406 | */ | ||
407 | EReference MULTIPLICITY_ASSERTION__RELATION = eINSTANCE.getMultiplicityAssertion_Relation(); | ||
408 | |||
409 | /** | ||
410 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl <em>Inverse Relation Assertion</em>}' class. | ||
411 | * <!-- begin-user-doc --> | ||
412 | * <!-- end-user-doc --> | ||
413 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl | ||
414 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getInverseRelationAssertion() | ||
415 | * @generated | ||
416 | */ | ||
417 | EClass INVERSE_RELATION_ASSERTION = eINSTANCE.getInverseRelationAssertion(); | ||
418 | |||
419 | /** | ||
420 | * The meta object literal for the '<em><b>Inverse A</b></em>' reference feature. | ||
421 | * <!-- begin-user-doc --> | ||
422 | * <!-- end-user-doc --> | ||
423 | * @generated | ||
424 | */ | ||
425 | EReference INVERSE_RELATION_ASSERTION__INVERSE_A = eINSTANCE.getInverseRelationAssertion_InverseA(); | ||
426 | |||
427 | /** | ||
428 | * The meta object literal for the '<em><b>Inverse B</b></em>' reference feature. | ||
429 | * <!-- begin-user-doc --> | ||
430 | * <!-- end-user-doc --> | ||
431 | * @generated | ||
432 | */ | ||
433 | EReference INVERSE_RELATION_ASSERTION__INVERSE_B = eINSTANCE.getInverseRelationAssertion_InverseB(); | ||
434 | |||
435 | /** | ||
436 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl <em>Lower Multiplicity Assertion</em>}' class. | ||
437 | * <!-- begin-user-doc --> | ||
438 | * <!-- end-user-doc --> | ||
439 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl | ||
440 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getLowerMultiplicityAssertion() | ||
441 | * @generated | ||
442 | */ | ||
443 | EClass LOWER_MULTIPLICITY_ASSERTION = eINSTANCE.getLowerMultiplicityAssertion(); | ||
444 | |||
445 | /** | ||
446 | * The meta object literal for the '<em><b>Lower</b></em>' attribute feature. | ||
447 | * <!-- begin-user-doc --> | ||
448 | * <!-- end-user-doc --> | ||
449 | * @generated | ||
450 | */ | ||
451 | EAttribute LOWER_MULTIPLICITY_ASSERTION__LOWER = eINSTANCE.getLowerMultiplicityAssertion_Lower(); | ||
452 | |||
453 | /** | ||
454 | * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl <em>Upper Multiplicity Assertion</em>}' class. | ||
455 | * <!-- begin-user-doc --> | ||
456 | * <!-- end-user-doc --> | ||
457 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl | ||
458 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.Ecore2logicannotationsPackageImpl#getUpperMultiplicityAssertion() | ||
459 | * @generated | ||
460 | */ | ||
461 | EClass UPPER_MULTIPLICITY_ASSERTION = eINSTANCE.getUpperMultiplicityAssertion(); | ||
462 | |||
463 | /** | ||
464 | * The meta object literal for the '<em><b>Upper</b></em>' attribute feature. | ||
465 | * <!-- begin-user-doc --> | ||
466 | * <!-- end-user-doc --> | ||
467 | * @generated | ||
468 | */ | ||
469 | EAttribute UPPER_MULTIPLICITY_ASSERTION__UPPER = eINSTANCE.getUpperMultiplicityAssertion_Upper(); | ||
470 | |||
471 | } | ||
472 | |||
473 | } //Ecore2logicannotationsPackage | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java new file mode 100644 index 00000000..cbe8deef --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/InverseRelationAssertion.java | |||
@@ -0,0 +1,79 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | ||
6 | |||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Inverse Relation Assertion</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}</li> | ||
19 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}</li> | ||
20 | * </ul> | ||
21 | * | ||
22 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion() | ||
23 | * @model | ||
24 | * @generated | ||
25 | */ | ||
26 | public interface InverseRelationAssertion extends AssertionAnnotation { | ||
27 | /** | ||
28 | * Returns the value of the '<em><b>Inverse A</b></em>' reference. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <p> | ||
31 | * If the meaning of the '<em>Inverse A</em>' reference isn't clear, | ||
32 | * there really should be more of a description here... | ||
33 | * </p> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @return the value of the '<em>Inverse A</em>' reference. | ||
36 | * @see #setInverseA(Relation) | ||
37 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion_InverseA() | ||
38 | * @model required="true" | ||
39 | * @generated | ||
40 | */ | ||
41 | Relation getInverseA(); | ||
42 | |||
43 | /** | ||
44 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseA <em>Inverse A</em>}' reference. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * <!-- end-user-doc --> | ||
47 | * @param value the new value of the '<em>Inverse A</em>' reference. | ||
48 | * @see #getInverseA() | ||
49 | * @generated | ||
50 | */ | ||
51 | void setInverseA(Relation value); | ||
52 | |||
53 | /** | ||
54 | * Returns the value of the '<em><b>Inverse B</b></em>' reference. | ||
55 | * <!-- begin-user-doc --> | ||
56 | * <p> | ||
57 | * If the meaning of the '<em>Inverse B</em>' reference isn't clear, | ||
58 | * there really should be more of a description here... | ||
59 | * </p> | ||
60 | * <!-- end-user-doc --> | ||
61 | * @return the value of the '<em>Inverse B</em>' reference. | ||
62 | * @see #setInverseB(Relation) | ||
63 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getInverseRelationAssertion_InverseB() | ||
64 | * @model required="true" | ||
65 | * @generated | ||
66 | */ | ||
67 | Relation getInverseB(); | ||
68 | |||
69 | /** | ||
70 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion#getInverseB <em>Inverse B</em>}' reference. | ||
71 | * <!-- begin-user-doc --> | ||
72 | * <!-- end-user-doc --> | ||
73 | * @param value the new value of the '<em>Inverse B</em>' reference. | ||
74 | * @see #getInverseB() | ||
75 | * @generated | ||
76 | */ | ||
77 | void setInverseB(Relation value); | ||
78 | |||
79 | } // InverseRelationAssertion | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java new file mode 100644 index 00000000..d9a06c64 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/LowerMultiplicityAssertion.java | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Lower Multiplicity Assertion</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getLowerMultiplicityAssertion() | ||
19 | * @model | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface LowerMultiplicityAssertion extends MultiplicityAssertion { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Lower</b></em>' attribute. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <p> | ||
27 | * If the meaning of the '<em>Lower</em>' attribute isn't clear, | ||
28 | * there really should be more of a description here... | ||
29 | * </p> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Lower</em>' attribute. | ||
32 | * @see #setLower(int) | ||
33 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getLowerMultiplicityAssertion_Lower() | ||
34 | * @model required="true" | ||
35 | * @generated | ||
36 | */ | ||
37 | int getLower(); | ||
38 | |||
39 | /** | ||
40 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion#getLower <em>Lower</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @param value the new value of the '<em>Lower</em>' attribute. | ||
44 | * @see #getLower() | ||
45 | * @generated | ||
46 | */ | ||
47 | void setLower(int value); | ||
48 | |||
49 | } // LowerMultiplicityAssertion | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java new file mode 100644 index 00000000..d937a97c --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/MultiplicityAssertion.java | |||
@@ -0,0 +1,51 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation; | ||
7 | |||
8 | /** | ||
9 | * <!-- begin-user-doc --> | ||
10 | * A representation of the model object '<em><b>Multiplicity Assertion</b></em>'. | ||
11 | * <!-- end-user-doc --> | ||
12 | * | ||
13 | * <p> | ||
14 | * The following features are supported: | ||
15 | * </p> | ||
16 | * <ul> | ||
17 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}</li> | ||
18 | * </ul> | ||
19 | * | ||
20 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getMultiplicityAssertion() | ||
21 | * @model | ||
22 | * @generated | ||
23 | */ | ||
24 | public interface MultiplicityAssertion extends AssertionAnnotation { | ||
25 | |||
26 | /** | ||
27 | * Returns the value of the '<em><b>Relation</b></em>' reference. | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <p> | ||
30 | * If the meaning of the '<em>Relation</em>' reference isn't clear, | ||
31 | * there really should be more of a description here... | ||
32 | * </p> | ||
33 | * <!-- end-user-doc --> | ||
34 | * @return the value of the '<em>Relation</em>' reference. | ||
35 | * @see #setRelation(Relation) | ||
36 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getMultiplicityAssertion_Relation() | ||
37 | * @model required="true" | ||
38 | * @generated | ||
39 | */ | ||
40 | Relation getRelation(); | ||
41 | |||
42 | /** | ||
43 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion#getRelation <em>Relation</em>}' reference. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @param value the new value of the '<em>Relation</em>' reference. | ||
47 | * @see #getRelation() | ||
48 | * @generated | ||
49 | */ | ||
50 | void setRelation(Relation value); | ||
51 | } // MultiplicityAssertion | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java new file mode 100644 index 00000000..095ab187 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/UpperMultiplicityAssertion.java | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations; | ||
4 | |||
5 | |||
6 | /** | ||
7 | * <!-- begin-user-doc --> | ||
8 | * A representation of the model object '<em><b>Upper Multiplicity Assertion</b></em>'. | ||
9 | * <!-- end-user-doc --> | ||
10 | * | ||
11 | * <p> | ||
12 | * The following features are supported: | ||
13 | * </p> | ||
14 | * <ul> | ||
15 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}</li> | ||
16 | * </ul> | ||
17 | * | ||
18 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getUpperMultiplicityAssertion() | ||
19 | * @model | ||
20 | * @generated | ||
21 | */ | ||
22 | public interface UpperMultiplicityAssertion extends MultiplicityAssertion { | ||
23 | /** | ||
24 | * Returns the value of the '<em><b>Upper</b></em>' attribute. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <p> | ||
27 | * If the meaning of the '<em>Upper</em>' attribute isn't clear, | ||
28 | * there really should be more of a description here... | ||
29 | * </p> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Upper</em>' attribute. | ||
32 | * @see #setUpper(int) | ||
33 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#getUpperMultiplicityAssertion_Upper() | ||
34 | * @model required="true" | ||
35 | * @generated | ||
36 | */ | ||
37 | int getUpper(); | ||
38 | |||
39 | /** | ||
40 | * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion#getUpper <em>Upper</em>}' attribute. | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @param value the new value of the '<em>Upper</em>' attribute. | ||
44 | * @see #getUpper() | ||
45 | * @generated | ||
46 | */ | ||
47 | void setUpper(int value); | ||
48 | |||
49 | } // UpperMultiplicityAssertion | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java new file mode 100644 index 00000000..1693c2aa --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsFactoryImpl.java | |||
@@ -0,0 +1,128 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EClass; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import org.eclipse.emf.ecore.EPackage; | ||
10 | |||
11 | import org.eclipse.emf.ecore.impl.EFactoryImpl; | ||
12 | |||
13 | import org.eclipse.emf.ecore.plugin.EcorePlugin; | ||
14 | |||
15 | /** | ||
16 | * <!-- begin-user-doc --> | ||
17 | * An implementation of the model <b>Factory</b>. | ||
18 | * <!-- end-user-doc --> | ||
19 | * @generated | ||
20 | */ | ||
21 | public class Ecore2logicannotationsFactoryImpl extends EFactoryImpl implements Ecore2logicannotationsFactory { | ||
22 | /** | ||
23 | * Creates the default factory implementation. | ||
24 | * <!-- begin-user-doc --> | ||
25 | * <!-- end-user-doc --> | ||
26 | * @generated | ||
27 | */ | ||
28 | public static Ecore2logicannotationsFactory init() { | ||
29 | try { | ||
30 | Ecore2logicannotationsFactory theEcore2logicannotationsFactory = (Ecore2logicannotationsFactory)EPackage.Registry.INSTANCE.getEFactory(Ecore2logicannotationsPackage.eNS_URI); | ||
31 | if (theEcore2logicannotationsFactory != null) { | ||
32 | return theEcore2logicannotationsFactory; | ||
33 | } | ||
34 | } | ||
35 | catch (Exception exception) { | ||
36 | EcorePlugin.INSTANCE.log(exception); | ||
37 | } | ||
38 | return new Ecore2logicannotationsFactoryImpl(); | ||
39 | } | ||
40 | |||
41 | /** | ||
42 | * Creates an instance of the factory. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @generated | ||
46 | */ | ||
47 | public Ecore2logicannotationsFactoryImpl() { | ||
48 | super(); | ||
49 | } | ||
50 | |||
51 | /** | ||
52 | * <!-- begin-user-doc --> | ||
53 | * <!-- end-user-doc --> | ||
54 | * @generated | ||
55 | */ | ||
56 | @Override | ||
57 | public EObject create(EClass eClass) { | ||
58 | switch (eClass.getClassifierID()) { | ||
59 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION: return createMultiplicityAssertion(); | ||
60 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION: return createInverseRelationAssertion(); | ||
61 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION: return createLowerMultiplicityAssertion(); | ||
62 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION: return createUpperMultiplicityAssertion(); | ||
63 | default: | ||
64 | throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); | ||
65 | } | ||
66 | } | ||
67 | |||
68 | /** | ||
69 | * <!-- begin-user-doc --> | ||
70 | * <!-- end-user-doc --> | ||
71 | * @generated | ||
72 | */ | ||
73 | public MultiplicityAssertion createMultiplicityAssertion() { | ||
74 | MultiplicityAssertionImpl multiplicityAssertion = new MultiplicityAssertionImpl(); | ||
75 | return multiplicityAssertion; | ||
76 | } | ||
77 | |||
78 | /** | ||
79 | * <!-- begin-user-doc --> | ||
80 | * <!-- end-user-doc --> | ||
81 | * @generated | ||
82 | */ | ||
83 | public InverseRelationAssertion createInverseRelationAssertion() { | ||
84 | InverseRelationAssertionImpl inverseRelationAssertion = new InverseRelationAssertionImpl(); | ||
85 | return inverseRelationAssertion; | ||
86 | } | ||
87 | |||
88 | /** | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | */ | ||
93 | public LowerMultiplicityAssertion createLowerMultiplicityAssertion() { | ||
94 | LowerMultiplicityAssertionImpl lowerMultiplicityAssertion = new LowerMultiplicityAssertionImpl(); | ||
95 | return lowerMultiplicityAssertion; | ||
96 | } | ||
97 | |||
98 | /** | ||
99 | * <!-- begin-user-doc --> | ||
100 | * <!-- end-user-doc --> | ||
101 | * @generated | ||
102 | */ | ||
103 | public UpperMultiplicityAssertion createUpperMultiplicityAssertion() { | ||
104 | UpperMultiplicityAssertionImpl upperMultiplicityAssertion = new UpperMultiplicityAssertionImpl(); | ||
105 | return upperMultiplicityAssertion; | ||
106 | } | ||
107 | |||
108 | /** | ||
109 | * <!-- begin-user-doc --> | ||
110 | * <!-- end-user-doc --> | ||
111 | * @generated | ||
112 | */ | ||
113 | public Ecore2logicannotationsPackage getEcore2logicannotationsPackage() { | ||
114 | return (Ecore2logicannotationsPackage)getEPackage(); | ||
115 | } | ||
116 | |||
117 | /** | ||
118 | * <!-- begin-user-doc --> | ||
119 | * <!-- end-user-doc --> | ||
120 | * @deprecated | ||
121 | * @generated | ||
122 | */ | ||
123 | @Deprecated | ||
124 | public static Ecore2logicannotationsPackage getPackage() { | ||
125 | return Ecore2logicannotationsPackage.eINSTANCE; | ||
126 | } | ||
127 | |||
128 | } //Ecore2logicannotationsFactoryImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java new file mode 100644 index 00000000..33f94c36 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/Ecore2logicannotationsPackageImpl.java | |||
@@ -0,0 +1,301 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory; | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage; | ||
7 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion; | ||
8 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion; | ||
9 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion; | ||
10 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion; | ||
11 | |||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.LogiclanguagePackage; | ||
13 | |||
14 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicproblemPackage; | ||
15 | |||
16 | import org.eclipse.emf.ecore.EAttribute; | ||
17 | import org.eclipse.emf.ecore.EClass; | ||
18 | import org.eclipse.emf.ecore.EPackage; | ||
19 | import org.eclipse.emf.ecore.EReference; | ||
20 | |||
21 | import org.eclipse.emf.ecore.impl.EPackageImpl; | ||
22 | |||
23 | /** | ||
24 | * <!-- begin-user-doc --> | ||
25 | * An implementation of the model <b>Package</b>. | ||
26 | * <!-- end-user-doc --> | ||
27 | * @generated | ||
28 | */ | ||
29 | public class Ecore2logicannotationsPackageImpl extends EPackageImpl implements Ecore2logicannotationsPackage { | ||
30 | /** | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @generated | ||
34 | */ | ||
35 | private EClass multiplicityAssertionEClass = null; | ||
36 | |||
37 | /** | ||
38 | * <!-- begin-user-doc --> | ||
39 | * <!-- end-user-doc --> | ||
40 | * @generated | ||
41 | */ | ||
42 | private EClass inverseRelationAssertionEClass = null; | ||
43 | |||
44 | /** | ||
45 | * <!-- begin-user-doc --> | ||
46 | * <!-- end-user-doc --> | ||
47 | * @generated | ||
48 | */ | ||
49 | private EClass lowerMultiplicityAssertionEClass = null; | ||
50 | |||
51 | /** | ||
52 | * <!-- begin-user-doc --> | ||
53 | * <!-- end-user-doc --> | ||
54 | * @generated | ||
55 | */ | ||
56 | private EClass upperMultiplicityAssertionEClass = null; | ||
57 | |||
58 | /** | ||
59 | * Creates an instance of the model <b>Package</b>, registered with | ||
60 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package | ||
61 | * package URI value. | ||
62 | * <p>Note: the correct way to create the package is via the static | ||
63 | * factory method {@link #init init()}, which also performs | ||
64 | * initialization of the package, or returns the registered package, | ||
65 | * if one already exists. | ||
66 | * <!-- begin-user-doc --> | ||
67 | * <!-- end-user-doc --> | ||
68 | * @see org.eclipse.emf.ecore.EPackage.Registry | ||
69 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage#eNS_URI | ||
70 | * @see #init() | ||
71 | * @generated | ||
72 | */ | ||
73 | private Ecore2logicannotationsPackageImpl() { | ||
74 | super(eNS_URI, Ecore2logicannotationsFactory.eINSTANCE); | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | private static boolean isInited = false; | ||
83 | |||
84 | /** | ||
85 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. | ||
86 | * | ||
87 | * <p>This method is used to initialize {@link Ecore2logicannotationsPackage#eINSTANCE} when that field is accessed. | ||
88 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @see #eNS_URI | ||
92 | * @see #createPackageContents() | ||
93 | * @see #initializePackageContents() | ||
94 | * @generated | ||
95 | */ | ||
96 | public static Ecore2logicannotationsPackage init() { | ||
97 | if (isInited) return (Ecore2logicannotationsPackage)EPackage.Registry.INSTANCE.getEPackage(Ecore2logicannotationsPackage.eNS_URI); | ||
98 | |||
99 | // Obtain or create and register package | ||
100 | Ecore2logicannotationsPackageImpl theEcore2logicannotationsPackage = (Ecore2logicannotationsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof Ecore2logicannotationsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new Ecore2logicannotationsPackageImpl()); | ||
101 | |||
102 | isInited = true; | ||
103 | |||
104 | // Initialize simple dependencies | ||
105 | LogiclanguagePackage.eINSTANCE.eClass(); | ||
106 | LogicproblemPackage.eINSTANCE.eClass(); | ||
107 | |||
108 | // Create package meta-data objects | ||
109 | theEcore2logicannotationsPackage.createPackageContents(); | ||
110 | |||
111 | // Initialize created meta-data | ||
112 | theEcore2logicannotationsPackage.initializePackageContents(); | ||
113 | |||
114 | // Mark meta-data to indicate it can't be changed | ||
115 | theEcore2logicannotationsPackage.freeze(); | ||
116 | |||
117 | |||
118 | // Update the registry and return the package | ||
119 | EPackage.Registry.INSTANCE.put(Ecore2logicannotationsPackage.eNS_URI, theEcore2logicannotationsPackage); | ||
120 | return theEcore2logicannotationsPackage; | ||
121 | } | ||
122 | |||
123 | /** | ||
124 | * <!-- begin-user-doc --> | ||
125 | * <!-- end-user-doc --> | ||
126 | * @generated | ||
127 | */ | ||
128 | public EClass getMultiplicityAssertion() { | ||
129 | return multiplicityAssertionEClass; | ||
130 | } | ||
131 | |||
132 | /** | ||
133 | * <!-- begin-user-doc --> | ||
134 | * <!-- end-user-doc --> | ||
135 | * @generated | ||
136 | */ | ||
137 | public EReference getMultiplicityAssertion_Relation() { | ||
138 | return (EReference)multiplicityAssertionEClass.getEStructuralFeatures().get(0); | ||
139 | } | ||
140 | |||
141 | /** | ||
142 | * <!-- begin-user-doc --> | ||
143 | * <!-- end-user-doc --> | ||
144 | * @generated | ||
145 | */ | ||
146 | public EClass getInverseRelationAssertion() { | ||
147 | return inverseRelationAssertionEClass; | ||
148 | } | ||
149 | |||
150 | /** | ||
151 | * <!-- begin-user-doc --> | ||
152 | * <!-- end-user-doc --> | ||
153 | * @generated | ||
154 | */ | ||
155 | public EReference getInverseRelationAssertion_InverseA() { | ||
156 | return (EReference)inverseRelationAssertionEClass.getEStructuralFeatures().get(0); | ||
157 | } | ||
158 | |||
159 | /** | ||
160 | * <!-- begin-user-doc --> | ||
161 | * <!-- end-user-doc --> | ||
162 | * @generated | ||
163 | */ | ||
164 | public EReference getInverseRelationAssertion_InverseB() { | ||
165 | return (EReference)inverseRelationAssertionEClass.getEStructuralFeatures().get(1); | ||
166 | } | ||
167 | |||
168 | /** | ||
169 | * <!-- begin-user-doc --> | ||
170 | * <!-- end-user-doc --> | ||
171 | * @generated | ||
172 | */ | ||
173 | public EClass getLowerMultiplicityAssertion() { | ||
174 | return lowerMultiplicityAssertionEClass; | ||
175 | } | ||
176 | |||
177 | /** | ||
178 | * <!-- begin-user-doc --> | ||
179 | * <!-- end-user-doc --> | ||
180 | * @generated | ||
181 | */ | ||
182 | public EAttribute getLowerMultiplicityAssertion_Lower() { | ||
183 | return (EAttribute)lowerMultiplicityAssertionEClass.getEStructuralFeatures().get(0); | ||
184 | } | ||
185 | |||
186 | /** | ||
187 | * <!-- begin-user-doc --> | ||
188 | * <!-- end-user-doc --> | ||
189 | * @generated | ||
190 | */ | ||
191 | public EClass getUpperMultiplicityAssertion() { | ||
192 | return upperMultiplicityAssertionEClass; | ||
193 | } | ||
194 | |||
195 | /** | ||
196 | * <!-- begin-user-doc --> | ||
197 | * <!-- end-user-doc --> | ||
198 | * @generated | ||
199 | */ | ||
200 | public EAttribute getUpperMultiplicityAssertion_Upper() { | ||
201 | return (EAttribute)upperMultiplicityAssertionEClass.getEStructuralFeatures().get(0); | ||
202 | } | ||
203 | |||
204 | /** | ||
205 | * <!-- begin-user-doc --> | ||
206 | * <!-- end-user-doc --> | ||
207 | * @generated | ||
208 | */ | ||
209 | public Ecore2logicannotationsFactory getEcore2logicannotationsFactory() { | ||
210 | return (Ecore2logicannotationsFactory)getEFactoryInstance(); | ||
211 | } | ||
212 | |||
213 | /** | ||
214 | * <!-- begin-user-doc --> | ||
215 | * <!-- end-user-doc --> | ||
216 | * @generated | ||
217 | */ | ||
218 | private boolean isCreated = false; | ||
219 | |||
220 | /** | ||
221 | * Creates the meta-model objects for the package. This method is | ||
222 | * guarded to have no affect on any invocation but its first. | ||
223 | * <!-- begin-user-doc --> | ||
224 | * <!-- end-user-doc --> | ||
225 | * @generated | ||
226 | */ | ||
227 | public void createPackageContents() { | ||
228 | if (isCreated) return; | ||
229 | isCreated = true; | ||
230 | |||
231 | // Create classes and their features | ||
232 | multiplicityAssertionEClass = createEClass(MULTIPLICITY_ASSERTION); | ||
233 | createEReference(multiplicityAssertionEClass, MULTIPLICITY_ASSERTION__RELATION); | ||
234 | |||
235 | inverseRelationAssertionEClass = createEClass(INVERSE_RELATION_ASSERTION); | ||
236 | createEReference(inverseRelationAssertionEClass, INVERSE_RELATION_ASSERTION__INVERSE_A); | ||
237 | createEReference(inverseRelationAssertionEClass, INVERSE_RELATION_ASSERTION__INVERSE_B); | ||
238 | |||
239 | lowerMultiplicityAssertionEClass = createEClass(LOWER_MULTIPLICITY_ASSERTION); | ||
240 | createEAttribute(lowerMultiplicityAssertionEClass, LOWER_MULTIPLICITY_ASSERTION__LOWER); | ||
241 | |||
242 | upperMultiplicityAssertionEClass = createEClass(UPPER_MULTIPLICITY_ASSERTION); | ||
243 | createEAttribute(upperMultiplicityAssertionEClass, UPPER_MULTIPLICITY_ASSERTION__UPPER); | ||
244 | } | ||
245 | |||
246 | /** | ||
247 | * <!-- begin-user-doc --> | ||
248 | * <!-- end-user-doc --> | ||
249 | * @generated | ||
250 | */ | ||
251 | private boolean isInitialized = false; | ||
252 | |||
253 | /** | ||
254 | * Complete the initialization of the package and its meta-model. This | ||
255 | * method is guarded to have no affect on any invocation but its first. | ||
256 | * <!-- begin-user-doc --> | ||
257 | * <!-- end-user-doc --> | ||
258 | * @generated | ||
259 | */ | ||
260 | public void initializePackageContents() { | ||
261 | if (isInitialized) return; | ||
262 | isInitialized = true; | ||
263 | |||
264 | // Initialize package | ||
265 | setName(eNAME); | ||
266 | setNsPrefix(eNS_PREFIX); | ||
267 | setNsURI(eNS_URI); | ||
268 | |||
269 | // Obtain other dependent packages | ||
270 | LogicproblemPackage theLogicproblemPackage = (LogicproblemPackage)EPackage.Registry.INSTANCE.getEPackage(LogicproblemPackage.eNS_URI); | ||
271 | LogiclanguagePackage theLogiclanguagePackage = (LogiclanguagePackage)EPackage.Registry.INSTANCE.getEPackage(LogiclanguagePackage.eNS_URI); | ||
272 | |||
273 | // Create type parameters | ||
274 | |||
275 | // Set bounds for type parameters | ||
276 | |||
277 | // Add supertypes to classes | ||
278 | multiplicityAssertionEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation()); | ||
279 | inverseRelationAssertionEClass.getESuperTypes().add(theLogicproblemPackage.getAssertionAnnotation()); | ||
280 | lowerMultiplicityAssertionEClass.getESuperTypes().add(this.getMultiplicityAssertion()); | ||
281 | upperMultiplicityAssertionEClass.getESuperTypes().add(this.getMultiplicityAssertion()); | ||
282 | |||
283 | // Initialize classes, features, and operations; add parameters | ||
284 | initEClass(multiplicityAssertionEClass, MultiplicityAssertion.class, "MultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
285 | initEReference(getMultiplicityAssertion_Relation(), theLogiclanguagePackage.getRelation(), null, "relation", null, 1, 1, MultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
286 | |||
287 | initEClass(inverseRelationAssertionEClass, InverseRelationAssertion.class, "InverseRelationAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
288 | initEReference(getInverseRelationAssertion_InverseA(), theLogiclanguagePackage.getRelation(), null, "inverseA", null, 1, 1, InverseRelationAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
289 | initEReference(getInverseRelationAssertion_InverseB(), theLogiclanguagePackage.getRelation(), null, "inverseB", null, 1, 1, InverseRelationAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
290 | |||
291 | initEClass(lowerMultiplicityAssertionEClass, LowerMultiplicityAssertion.class, "LowerMultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
292 | initEAttribute(getLowerMultiplicityAssertion_Lower(), ecorePackage.getEInt(), "lower", null, 1, 1, LowerMultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
293 | |||
294 | initEClass(upperMultiplicityAssertionEClass, UpperMultiplicityAssertion.class, "UpperMultiplicityAssertion", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
295 | initEAttribute(getUpperMultiplicityAssertion_Upper(), ecorePackage.getEInt(), "upper", null, 1, 1, UpperMultiplicityAssertion.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
296 | |||
297 | // Create resource | ||
298 | createResource(eNS_URI); | ||
299 | } | ||
300 | |||
301 | } //Ecore2logicannotationsPackageImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java new file mode 100644 index 00000000..a2eb9157 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/InverseRelationAssertionImpl.java | |||
@@ -0,0 +1,216 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion; | ||
7 | |||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | ||
9 | |||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl; | ||
11 | import org.eclipse.emf.common.notify.Notification; | ||
12 | import org.eclipse.emf.ecore.EClass; | ||
13 | |||
14 | import org.eclipse.emf.ecore.InternalEObject; | ||
15 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
16 | |||
17 | /** | ||
18 | * <!-- begin-user-doc --> | ||
19 | * An implementation of the model object '<em><b>Inverse Relation Assertion</b></em>'. | ||
20 | * <!-- end-user-doc --> | ||
21 | * <p> | ||
22 | * The following features are implemented: | ||
23 | * </p> | ||
24 | * <ul> | ||
25 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl#getInverseA <em>Inverse A</em>}</li> | ||
26 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.InverseRelationAssertionImpl#getInverseB <em>Inverse B</em>}</li> | ||
27 | * </ul> | ||
28 | * | ||
29 | * @generated | ||
30 | */ | ||
31 | public class InverseRelationAssertionImpl extends AssertionAnnotationImpl implements InverseRelationAssertion { | ||
32 | /** | ||
33 | * The cached value of the '{@link #getInverseA() <em>Inverse A</em>}' reference. | ||
34 | * <!-- begin-user-doc --> | ||
35 | * <!-- end-user-doc --> | ||
36 | * @see #getInverseA() | ||
37 | * @generated | ||
38 | * @ordered | ||
39 | */ | ||
40 | protected Relation inverseA; | ||
41 | /** | ||
42 | * The cached value of the '{@link #getInverseB() <em>Inverse B</em>}' reference. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @see #getInverseB() | ||
46 | * @generated | ||
47 | * @ordered | ||
48 | */ | ||
49 | protected Relation inverseB; | ||
50 | /** | ||
51 | * <!-- begin-user-doc --> | ||
52 | * <!-- end-user-doc --> | ||
53 | * @generated | ||
54 | */ | ||
55 | protected InverseRelationAssertionImpl() { | ||
56 | super(); | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * <!-- begin-user-doc --> | ||
61 | * <!-- end-user-doc --> | ||
62 | * @generated | ||
63 | */ | ||
64 | @Override | ||
65 | protected EClass eStaticClass() { | ||
66 | return Ecore2logicannotationsPackage.Literals.INVERSE_RELATION_ASSERTION; | ||
67 | } | ||
68 | |||
69 | /** | ||
70 | * <!-- begin-user-doc --> | ||
71 | * <!-- end-user-doc --> | ||
72 | * @generated | ||
73 | */ | ||
74 | public Relation getInverseA() { | ||
75 | if (inverseA != null && inverseA.eIsProxy()) { | ||
76 | InternalEObject oldInverseA = (InternalEObject)inverseA; | ||
77 | inverseA = (Relation)eResolveProxy(oldInverseA); | ||
78 | if (inverseA != oldInverseA) { | ||
79 | if (eNotificationRequired()) | ||
80 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A, oldInverseA, inverseA)); | ||
81 | } | ||
82 | } | ||
83 | return inverseA; | ||
84 | } | ||
85 | |||
86 | /** | ||
87 | * <!-- begin-user-doc --> | ||
88 | * <!-- end-user-doc --> | ||
89 | * @generated | ||
90 | */ | ||
91 | public Relation basicGetInverseA() { | ||
92 | return inverseA; | ||
93 | } | ||
94 | |||
95 | /** | ||
96 | * <!-- begin-user-doc --> | ||
97 | * <!-- end-user-doc --> | ||
98 | * @generated | ||
99 | */ | ||
100 | public void setInverseA(Relation newInverseA) { | ||
101 | Relation oldInverseA = inverseA; | ||
102 | inverseA = newInverseA; | ||
103 | if (eNotificationRequired()) | ||
104 | eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A, oldInverseA, inverseA)); | ||
105 | } | ||
106 | |||
107 | /** | ||
108 | * <!-- begin-user-doc --> | ||
109 | * <!-- end-user-doc --> | ||
110 | * @generated | ||
111 | */ | ||
112 | public Relation getInverseB() { | ||
113 | if (inverseB != null && inverseB.eIsProxy()) { | ||
114 | InternalEObject oldInverseB = (InternalEObject)inverseB; | ||
115 | inverseB = (Relation)eResolveProxy(oldInverseB); | ||
116 | if (inverseB != oldInverseB) { | ||
117 | if (eNotificationRequired()) | ||
118 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B, oldInverseB, inverseB)); | ||
119 | } | ||
120 | } | ||
121 | return inverseB; | ||
122 | } | ||
123 | |||
124 | /** | ||
125 | * <!-- begin-user-doc --> | ||
126 | * <!-- end-user-doc --> | ||
127 | * @generated | ||
128 | */ | ||
129 | public Relation basicGetInverseB() { | ||
130 | return inverseB; | ||
131 | } | ||
132 | |||
133 | /** | ||
134 | * <!-- begin-user-doc --> | ||
135 | * <!-- end-user-doc --> | ||
136 | * @generated | ||
137 | */ | ||
138 | public void setInverseB(Relation newInverseB) { | ||
139 | Relation oldInverseB = inverseB; | ||
140 | inverseB = newInverseB; | ||
141 | if (eNotificationRequired()) | ||
142 | eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B, oldInverseB, inverseB)); | ||
143 | } | ||
144 | |||
145 | /** | ||
146 | * <!-- begin-user-doc --> | ||
147 | * <!-- end-user-doc --> | ||
148 | * @generated | ||
149 | */ | ||
150 | @Override | ||
151 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
152 | switch (featureID) { | ||
153 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A: | ||
154 | if (resolve) return getInverseA(); | ||
155 | return basicGetInverseA(); | ||
156 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B: | ||
157 | if (resolve) return getInverseB(); | ||
158 | return basicGetInverseB(); | ||
159 | } | ||
160 | return super.eGet(featureID, resolve, coreType); | ||
161 | } | ||
162 | |||
163 | /** | ||
164 | * <!-- begin-user-doc --> | ||
165 | * <!-- end-user-doc --> | ||
166 | * @generated | ||
167 | */ | ||
168 | @SuppressWarnings("unchecked") | ||
169 | @Override | ||
170 | public void eSet(int featureID, Object newValue) { | ||
171 | switch (featureID) { | ||
172 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A: | ||
173 | setInverseA((Relation)newValue); | ||
174 | return; | ||
175 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B: | ||
176 | setInverseB((Relation)newValue); | ||
177 | return; | ||
178 | } | ||
179 | super.eSet(featureID, newValue); | ||
180 | } | ||
181 | |||
182 | /** | ||
183 | * <!-- begin-user-doc --> | ||
184 | * <!-- end-user-doc --> | ||
185 | * @generated | ||
186 | */ | ||
187 | @Override | ||
188 | public void eUnset(int featureID) { | ||
189 | switch (featureID) { | ||
190 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A: | ||
191 | setInverseA((Relation)null); | ||
192 | return; | ||
193 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B: | ||
194 | setInverseB((Relation)null); | ||
195 | return; | ||
196 | } | ||
197 | super.eUnset(featureID); | ||
198 | } | ||
199 | |||
200 | /** | ||
201 | * <!-- begin-user-doc --> | ||
202 | * <!-- end-user-doc --> | ||
203 | * @generated | ||
204 | */ | ||
205 | @Override | ||
206 | public boolean eIsSet(int featureID) { | ||
207 | switch (featureID) { | ||
208 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_A: | ||
209 | return inverseA != null; | ||
210 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION__INVERSE_B: | ||
211 | return inverseB != null; | ||
212 | } | ||
213 | return super.eIsSet(featureID); | ||
214 | } | ||
215 | |||
216 | } //InverseRelationAssertionImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java new file mode 100644 index 00000000..bc0cffc8 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/LowerMultiplicityAssertionImpl.java | |||
@@ -0,0 +1,162 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion; | ||
7 | |||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * An implementation of the model object '<em><b>Lower Multiplicity Assertion</b></em>'. | ||
17 | * <!-- end-user-doc --> | ||
18 | * <p> | ||
19 | * The following features are implemented: | ||
20 | * </p> | ||
21 | * <ul> | ||
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.LowerMultiplicityAssertionImpl#getLower <em>Lower</em>}</li> | ||
23 | * </ul> | ||
24 | * | ||
25 | * @generated | ||
26 | */ | ||
27 | public class LowerMultiplicityAssertionImpl extends MultiplicityAssertionImpl implements LowerMultiplicityAssertion { | ||
28 | /** | ||
29 | * The default value of the '{@link #getLower() <em>Lower</em>}' attribute. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @see #getLower() | ||
33 | * @generated | ||
34 | * @ordered | ||
35 | */ | ||
36 | protected static final int LOWER_EDEFAULT = 0; | ||
37 | |||
38 | /** | ||
39 | * The cached value of the '{@link #getLower() <em>Lower</em>}' attribute. | ||
40 | * <!-- begin-user-doc --> | ||
41 | * <!-- end-user-doc --> | ||
42 | * @see #getLower() | ||
43 | * @generated | ||
44 | * @ordered | ||
45 | */ | ||
46 | protected int lower = LOWER_EDEFAULT; | ||
47 | |||
48 | /** | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <!-- end-user-doc --> | ||
51 | * @generated | ||
52 | */ | ||
53 | protected LowerMultiplicityAssertionImpl() { | ||
54 | super(); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | @Override | ||
63 | protected EClass eStaticClass() { | ||
64 | return Ecore2logicannotationsPackage.Literals.LOWER_MULTIPLICITY_ASSERTION; | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @generated | ||
71 | */ | ||
72 | public int getLower() { | ||
73 | return lower; | ||
74 | } | ||
75 | |||
76 | /** | ||
77 | * <!-- begin-user-doc --> | ||
78 | * <!-- end-user-doc --> | ||
79 | * @generated | ||
80 | */ | ||
81 | public void setLower(int newLower) { | ||
82 | int oldLower = lower; | ||
83 | lower = newLower; | ||
84 | if (eNotificationRequired()) | ||
85 | eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER, oldLower, lower)); | ||
86 | } | ||
87 | |||
88 | /** | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | */ | ||
93 | @Override | ||
94 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
95 | switch (featureID) { | ||
96 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER: | ||
97 | return getLower(); | ||
98 | } | ||
99 | return super.eGet(featureID, resolve, coreType); | ||
100 | } | ||
101 | |||
102 | /** | ||
103 | * <!-- begin-user-doc --> | ||
104 | * <!-- end-user-doc --> | ||
105 | * @generated | ||
106 | */ | ||
107 | @Override | ||
108 | public void eSet(int featureID, Object newValue) { | ||
109 | switch (featureID) { | ||
110 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER: | ||
111 | setLower((Integer)newValue); | ||
112 | return; | ||
113 | } | ||
114 | super.eSet(featureID, newValue); | ||
115 | } | ||
116 | |||
117 | /** | ||
118 | * <!-- begin-user-doc --> | ||
119 | * <!-- end-user-doc --> | ||
120 | * @generated | ||
121 | */ | ||
122 | @Override | ||
123 | public void eUnset(int featureID) { | ||
124 | switch (featureID) { | ||
125 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER: | ||
126 | setLower(LOWER_EDEFAULT); | ||
127 | return; | ||
128 | } | ||
129 | super.eUnset(featureID); | ||
130 | } | ||
131 | |||
132 | /** | ||
133 | * <!-- begin-user-doc --> | ||
134 | * <!-- end-user-doc --> | ||
135 | * @generated | ||
136 | */ | ||
137 | @Override | ||
138 | public boolean eIsSet(int featureID) { | ||
139 | switch (featureID) { | ||
140 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION__LOWER: | ||
141 | return lower != LOWER_EDEFAULT; | ||
142 | } | ||
143 | return super.eIsSet(featureID); | ||
144 | } | ||
145 | |||
146 | /** | ||
147 | * <!-- begin-user-doc --> | ||
148 | * <!-- end-user-doc --> | ||
149 | * @generated | ||
150 | */ | ||
151 | @Override | ||
152 | public String toString() { | ||
153 | if (eIsProxy()) return super.toString(); | ||
154 | |||
155 | StringBuffer result = new StringBuffer(super.toString()); | ||
156 | result.append(" (lower: "); | ||
157 | result.append(lower); | ||
158 | result.append(')'); | ||
159 | return result.toString(); | ||
160 | } | ||
161 | |||
162 | } //LowerMultiplicityAssertionImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java new file mode 100644 index 00000000..b5dafe5c --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/MultiplicityAssertionImpl.java | |||
@@ -0,0 +1,156 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion; | ||
7 | |||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation; | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.impl.AssertionAnnotationImpl; | ||
10 | |||
11 | import org.eclipse.emf.common.notify.Notification; | ||
12 | import org.eclipse.emf.ecore.EClass; | ||
13 | import org.eclipse.emf.ecore.InternalEObject; | ||
14 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
15 | |||
16 | /** | ||
17 | * <!-- begin-user-doc --> | ||
18 | * An implementation of the model object '<em><b>Multiplicity Assertion</b></em>'. | ||
19 | * <!-- end-user-doc --> | ||
20 | * <p> | ||
21 | * The following features are implemented: | ||
22 | * </p> | ||
23 | * <ul> | ||
24 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.MultiplicityAssertionImpl#getRelation <em>Relation</em>}</li> | ||
25 | * </ul> | ||
26 | * | ||
27 | * @generated | ||
28 | */ | ||
29 | public class MultiplicityAssertionImpl extends AssertionAnnotationImpl implements MultiplicityAssertion { | ||
30 | /** | ||
31 | * The cached value of the '{@link #getRelation() <em>Relation</em>}' reference. | ||
32 | * <!-- begin-user-doc --> | ||
33 | * <!-- end-user-doc --> | ||
34 | * @see #getRelation() | ||
35 | * @generated | ||
36 | * @ordered | ||
37 | */ | ||
38 | protected Relation relation; | ||
39 | |||
40 | /** | ||
41 | * <!-- begin-user-doc --> | ||
42 | * <!-- end-user-doc --> | ||
43 | * @generated | ||
44 | */ | ||
45 | protected MultiplicityAssertionImpl() { | ||
46 | super(); | ||
47 | } | ||
48 | |||
49 | /** | ||
50 | * <!-- begin-user-doc --> | ||
51 | * <!-- end-user-doc --> | ||
52 | * @generated | ||
53 | */ | ||
54 | @Override | ||
55 | protected EClass eStaticClass() { | ||
56 | return Ecore2logicannotationsPackage.Literals.MULTIPLICITY_ASSERTION; | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * <!-- begin-user-doc --> | ||
61 | * <!-- end-user-doc --> | ||
62 | * @generated | ||
63 | */ | ||
64 | public Relation getRelation() { | ||
65 | if (relation != null && relation.eIsProxy()) { | ||
66 | InternalEObject oldRelation = (InternalEObject)relation; | ||
67 | relation = (Relation)eResolveProxy(oldRelation); | ||
68 | if (relation != oldRelation) { | ||
69 | if (eNotificationRequired()) | ||
70 | eNotify(new ENotificationImpl(this, Notification.RESOLVE, Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION, oldRelation, relation)); | ||
71 | } | ||
72 | } | ||
73 | return relation; | ||
74 | } | ||
75 | |||
76 | /** | ||
77 | * <!-- begin-user-doc --> | ||
78 | * <!-- end-user-doc --> | ||
79 | * @generated | ||
80 | */ | ||
81 | public Relation basicGetRelation() { | ||
82 | return relation; | ||
83 | } | ||
84 | |||
85 | /** | ||
86 | * <!-- begin-user-doc --> | ||
87 | * <!-- end-user-doc --> | ||
88 | * @generated | ||
89 | */ | ||
90 | public void setRelation(Relation newRelation) { | ||
91 | Relation oldRelation = relation; | ||
92 | relation = newRelation; | ||
93 | if (eNotificationRequired()) | ||
94 | eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION, oldRelation, relation)); | ||
95 | } | ||
96 | |||
97 | /** | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @generated | ||
101 | */ | ||
102 | @Override | ||
103 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
104 | switch (featureID) { | ||
105 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION: | ||
106 | if (resolve) return getRelation(); | ||
107 | return basicGetRelation(); | ||
108 | } | ||
109 | return super.eGet(featureID, resolve, coreType); | ||
110 | } | ||
111 | |||
112 | /** | ||
113 | * <!-- begin-user-doc --> | ||
114 | * <!-- end-user-doc --> | ||
115 | * @generated | ||
116 | */ | ||
117 | @Override | ||
118 | public void eSet(int featureID, Object newValue) { | ||
119 | switch (featureID) { | ||
120 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION: | ||
121 | setRelation((Relation)newValue); | ||
122 | return; | ||
123 | } | ||
124 | super.eSet(featureID, newValue); | ||
125 | } | ||
126 | |||
127 | /** | ||
128 | * <!-- begin-user-doc --> | ||
129 | * <!-- end-user-doc --> | ||
130 | * @generated | ||
131 | */ | ||
132 | @Override | ||
133 | public void eUnset(int featureID) { | ||
134 | switch (featureID) { | ||
135 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION: | ||
136 | setRelation((Relation)null); | ||
137 | return; | ||
138 | } | ||
139 | super.eUnset(featureID); | ||
140 | } | ||
141 | |||
142 | /** | ||
143 | * <!-- begin-user-doc --> | ||
144 | * <!-- end-user-doc --> | ||
145 | * @generated | ||
146 | */ | ||
147 | @Override | ||
148 | public boolean eIsSet(int featureID) { | ||
149 | switch (featureID) { | ||
150 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION__RELATION: | ||
151 | return relation != null; | ||
152 | } | ||
153 | return super.eIsSet(featureID); | ||
154 | } | ||
155 | |||
156 | } //MultiplicityAssertionImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java new file mode 100644 index 00000000..f7f39f4e --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/impl/UpperMultiplicityAssertionImpl.java | |||
@@ -0,0 +1,162 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage; | ||
6 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion; | ||
7 | |||
8 | import org.eclipse.emf.common.notify.Notification; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EClass; | ||
11 | |||
12 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * An implementation of the model object '<em><b>Upper Multiplicity Assertion</b></em>'. | ||
17 | * <!-- end-user-doc --> | ||
18 | * <p> | ||
19 | * The following features are implemented: | ||
20 | * </p> | ||
21 | * <ul> | ||
22 | * <li>{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.impl.UpperMultiplicityAssertionImpl#getUpper <em>Upper</em>}</li> | ||
23 | * </ul> | ||
24 | * | ||
25 | * @generated | ||
26 | */ | ||
27 | public class UpperMultiplicityAssertionImpl extends MultiplicityAssertionImpl implements UpperMultiplicityAssertion { | ||
28 | /** | ||
29 | * The default value of the '{@link #getUpper() <em>Upper</em>}' attribute. | ||
30 | * <!-- begin-user-doc --> | ||
31 | * <!-- end-user-doc --> | ||
32 | * @see #getUpper() | ||
33 | * @generated | ||
34 | * @ordered | ||
35 | */ | ||
36 | protected static final int UPPER_EDEFAULT = 0; | ||
37 | |||
38 | /** | ||
39 | * The cached value of the '{@link #getUpper() <em>Upper</em>}' attribute. | ||
40 | * <!-- begin-user-doc --> | ||
41 | * <!-- end-user-doc --> | ||
42 | * @see #getUpper() | ||
43 | * @generated | ||
44 | * @ordered | ||
45 | */ | ||
46 | protected int upper = UPPER_EDEFAULT; | ||
47 | |||
48 | /** | ||
49 | * <!-- begin-user-doc --> | ||
50 | * <!-- end-user-doc --> | ||
51 | * @generated | ||
52 | */ | ||
53 | protected UpperMultiplicityAssertionImpl() { | ||
54 | super(); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | @Override | ||
63 | protected EClass eStaticClass() { | ||
64 | return Ecore2logicannotationsPackage.Literals.UPPER_MULTIPLICITY_ASSERTION; | ||
65 | } | ||
66 | |||
67 | /** | ||
68 | * <!-- begin-user-doc --> | ||
69 | * <!-- end-user-doc --> | ||
70 | * @generated | ||
71 | */ | ||
72 | public int getUpper() { | ||
73 | return upper; | ||
74 | } | ||
75 | |||
76 | /** | ||
77 | * <!-- begin-user-doc --> | ||
78 | * <!-- end-user-doc --> | ||
79 | * @generated | ||
80 | */ | ||
81 | public void setUpper(int newUpper) { | ||
82 | int oldUpper = upper; | ||
83 | upper = newUpper; | ||
84 | if (eNotificationRequired()) | ||
85 | eNotify(new ENotificationImpl(this, Notification.SET, Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER, oldUpper, upper)); | ||
86 | } | ||
87 | |||
88 | /** | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | */ | ||
93 | @Override | ||
94 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
95 | switch (featureID) { | ||
96 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER: | ||
97 | return getUpper(); | ||
98 | } | ||
99 | return super.eGet(featureID, resolve, coreType); | ||
100 | } | ||
101 | |||
102 | /** | ||
103 | * <!-- begin-user-doc --> | ||
104 | * <!-- end-user-doc --> | ||
105 | * @generated | ||
106 | */ | ||
107 | @Override | ||
108 | public void eSet(int featureID, Object newValue) { | ||
109 | switch (featureID) { | ||
110 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER: | ||
111 | setUpper((Integer)newValue); | ||
112 | return; | ||
113 | } | ||
114 | super.eSet(featureID, newValue); | ||
115 | } | ||
116 | |||
117 | /** | ||
118 | * <!-- begin-user-doc --> | ||
119 | * <!-- end-user-doc --> | ||
120 | * @generated | ||
121 | */ | ||
122 | @Override | ||
123 | public void eUnset(int featureID) { | ||
124 | switch (featureID) { | ||
125 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER: | ||
126 | setUpper(UPPER_EDEFAULT); | ||
127 | return; | ||
128 | } | ||
129 | super.eUnset(featureID); | ||
130 | } | ||
131 | |||
132 | /** | ||
133 | * <!-- begin-user-doc --> | ||
134 | * <!-- end-user-doc --> | ||
135 | * @generated | ||
136 | */ | ||
137 | @Override | ||
138 | public boolean eIsSet(int featureID) { | ||
139 | switch (featureID) { | ||
140 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION__UPPER: | ||
141 | return upper != UPPER_EDEFAULT; | ||
142 | } | ||
143 | return super.eIsSet(featureID); | ||
144 | } | ||
145 | |||
146 | /** | ||
147 | * <!-- begin-user-doc --> | ||
148 | * <!-- end-user-doc --> | ||
149 | * @generated | ||
150 | */ | ||
151 | @Override | ||
152 | public String toString() { | ||
153 | if (eIsProxy()) return super.toString(); | ||
154 | |||
155 | StringBuffer result = new StringBuffer(super.toString()); | ||
156 | result.append(" (upper: "); | ||
157 | result.append(upper); | ||
158 | result.append(')'); | ||
159 | return result.toString(); | ||
160 | } | ||
161 | |||
162 | } //UpperMultiplicityAssertionImpl | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java new file mode 100644 index 00000000..38b4f411 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsAdapterFactory.java | |||
@@ -0,0 +1,213 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*; | ||
6 | |||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation; | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation; | ||
9 | |||
10 | import org.eclipse.emf.common.notify.Adapter; | ||
11 | import org.eclipse.emf.common.notify.Notifier; | ||
12 | |||
13 | import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EObject; | ||
16 | |||
17 | /** | ||
18 | * <!-- begin-user-doc --> | ||
19 | * The <b>Adapter Factory</b> for the model. | ||
20 | * It provides an adapter <code>createXXX</code> method for each class of the model. | ||
21 | * <!-- end-user-doc --> | ||
22 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage | ||
23 | * @generated | ||
24 | */ | ||
25 | public class Ecore2logicannotationsAdapterFactory extends AdapterFactoryImpl { | ||
26 | /** | ||
27 | * The cached model package. | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | protected static Ecore2logicannotationsPackage modelPackage; | ||
33 | |||
34 | /** | ||
35 | * Creates an instance of the adapter factory. | ||
36 | * <!-- begin-user-doc --> | ||
37 | * <!-- end-user-doc --> | ||
38 | * @generated | ||
39 | */ | ||
40 | public Ecore2logicannotationsAdapterFactory() { | ||
41 | if (modelPackage == null) { | ||
42 | modelPackage = Ecore2logicannotationsPackage.eINSTANCE; | ||
43 | } | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * Returns whether this factory is applicable for the type of the object. | ||
48 | * <!-- begin-user-doc --> | ||
49 | * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. | ||
50 | * <!-- end-user-doc --> | ||
51 | * @return whether this factory is applicable for the type of the object. | ||
52 | * @generated | ||
53 | */ | ||
54 | @Override | ||
55 | public boolean isFactoryForType(Object object) { | ||
56 | if (object == modelPackage) { | ||
57 | return true; | ||
58 | } | ||
59 | if (object instanceof EObject) { | ||
60 | return ((EObject)object).eClass().getEPackage() == modelPackage; | ||
61 | } | ||
62 | return false; | ||
63 | } | ||
64 | |||
65 | /** | ||
66 | * The switch that delegates to the <code>createXXX</code> methods. | ||
67 | * <!-- begin-user-doc --> | ||
68 | * <!-- end-user-doc --> | ||
69 | * @generated | ||
70 | */ | ||
71 | protected Ecore2logicannotationsSwitch<Adapter> modelSwitch = | ||
72 | new Ecore2logicannotationsSwitch<Adapter>() { | ||
73 | @Override | ||
74 | public Adapter caseMultiplicityAssertion(MultiplicityAssertion object) { | ||
75 | return createMultiplicityAssertionAdapter(); | ||
76 | } | ||
77 | @Override | ||
78 | public Adapter caseInverseRelationAssertion(InverseRelationAssertion object) { | ||
79 | return createInverseRelationAssertionAdapter(); | ||
80 | } | ||
81 | @Override | ||
82 | public Adapter caseLowerMultiplicityAssertion(LowerMultiplicityAssertion object) { | ||
83 | return createLowerMultiplicityAssertionAdapter(); | ||
84 | } | ||
85 | @Override | ||
86 | public Adapter caseUpperMultiplicityAssertion(UpperMultiplicityAssertion object) { | ||
87 | return createUpperMultiplicityAssertionAdapter(); | ||
88 | } | ||
89 | @Override | ||
90 | public Adapter caseAnnotation(Annotation object) { | ||
91 | return createAnnotationAdapter(); | ||
92 | } | ||
93 | @Override | ||
94 | public Adapter caseAssertionAnnotation(AssertionAnnotation object) { | ||
95 | return createAssertionAnnotationAdapter(); | ||
96 | } | ||
97 | @Override | ||
98 | public Adapter defaultCase(EObject object) { | ||
99 | return createEObjectAdapter(); | ||
100 | } | ||
101 | }; | ||
102 | |||
103 | /** | ||
104 | * Creates an adapter for the <code>target</code>. | ||
105 | * <!-- begin-user-doc --> | ||
106 | * <!-- end-user-doc --> | ||
107 | * @param target the object to adapt. | ||
108 | * @return the adapter for the <code>target</code>. | ||
109 | * @generated | ||
110 | */ | ||
111 | @Override | ||
112 | public Adapter createAdapter(Notifier target) { | ||
113 | return modelSwitch.doSwitch((EObject)target); | ||
114 | } | ||
115 | |||
116 | |||
117 | /** | ||
118 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion <em>Multiplicity Assertion</em>}'. | ||
119 | * <!-- begin-user-doc --> | ||
120 | * This default implementation returns null so that we can easily ignore cases; | ||
121 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
122 | * <!-- end-user-doc --> | ||
123 | * @return the new adapter. | ||
124 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.MultiplicityAssertion | ||
125 | * @generated | ||
126 | */ | ||
127 | public Adapter createMultiplicityAssertionAdapter() { | ||
128 | return null; | ||
129 | } | ||
130 | |||
131 | /** | ||
132 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion <em>Inverse Relation Assertion</em>}'. | ||
133 | * <!-- begin-user-doc --> | ||
134 | * This default implementation returns null so that we can easily ignore cases; | ||
135 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
136 | * <!-- end-user-doc --> | ||
137 | * @return the new adapter. | ||
138 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.InverseRelationAssertion | ||
139 | * @generated | ||
140 | */ | ||
141 | public Adapter createInverseRelationAssertionAdapter() { | ||
142 | return null; | ||
143 | } | ||
144 | |||
145 | /** | ||
146 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion <em>Lower Multiplicity Assertion</em>}'. | ||
147 | * <!-- begin-user-doc --> | ||
148 | * This default implementation returns null so that we can easily ignore cases; | ||
149 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
150 | * <!-- end-user-doc --> | ||
151 | * @return the new adapter. | ||
152 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.LowerMultiplicityAssertion | ||
153 | * @generated | ||
154 | */ | ||
155 | public Adapter createLowerMultiplicityAssertionAdapter() { | ||
156 | return null; | ||
157 | } | ||
158 | |||
159 | /** | ||
160 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion <em>Upper Multiplicity Assertion</em>}'. | ||
161 | * <!-- begin-user-doc --> | ||
162 | * This default implementation returns null so that we can easily ignore cases; | ||
163 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
164 | * <!-- end-user-doc --> | ||
165 | * @return the new adapter. | ||
166 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.UpperMultiplicityAssertion | ||
167 | * @generated | ||
168 | */ | ||
169 | public Adapter createUpperMultiplicityAssertionAdapter() { | ||
170 | return null; | ||
171 | } | ||
172 | |||
173 | /** | ||
174 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation <em>Annotation</em>}'. | ||
175 | * <!-- begin-user-doc --> | ||
176 | * This default implementation returns null so that we can easily ignore cases; | ||
177 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
178 | * <!-- end-user-doc --> | ||
179 | * @return the new adapter. | ||
180 | * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation | ||
181 | * @generated | ||
182 | */ | ||
183 | public Adapter createAnnotationAdapter() { | ||
184 | return null; | ||
185 | } | ||
186 | |||
187 | /** | ||
188 | * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation <em>Assertion Annotation</em>}'. | ||
189 | * <!-- begin-user-doc --> | ||
190 | * This default implementation returns null so that we can easily ignore cases; | ||
191 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
192 | * <!-- end-user-doc --> | ||
193 | * @return the new adapter. | ||
194 | * @see hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation | ||
195 | * @generated | ||
196 | */ | ||
197 | public Adapter createAssertionAnnotationAdapter() { | ||
198 | return null; | ||
199 | } | ||
200 | |||
201 | /** | ||
202 | * Creates a new adapter for the default case. | ||
203 | * <!-- begin-user-doc --> | ||
204 | * This default implementation returns null. | ||
205 | * <!-- end-user-doc --> | ||
206 | * @return the new adapter. | ||
207 | * @generated | ||
208 | */ | ||
209 | public Adapter createEObjectAdapter() { | ||
210 | return null; | ||
211 | } | ||
212 | |||
213 | } //Ecore2logicannotationsAdapterFactory | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java new file mode 100644 index 00000000..06d3fe84 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen/hu/bme/mit/inf/dslreasoner/ecore2logic/ecore2logicannotations/util/Ecore2logicannotationsSwitch.java | |||
@@ -0,0 +1,216 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.util; | ||
4 | |||
5 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.*; | ||
6 | |||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.Annotation; | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.AssertionAnnotation; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EObject; | ||
11 | import org.eclipse.emf.ecore.EPackage; | ||
12 | |||
13 | import org.eclipse.emf.ecore.util.Switch; | ||
14 | |||
15 | /** | ||
16 | * <!-- begin-user-doc --> | ||
17 | * The <b>Switch</b> for the model's inheritance hierarchy. | ||
18 | * It supports the call {@link #doSwitch(EObject) doSwitch(object)} | ||
19 | * to invoke the <code>caseXXX</code> method for each class of the model, | ||
20 | * starting with the actual class of the object | ||
21 | * and proceeding up the inheritance hierarchy | ||
22 | * until a non-null result is returned, | ||
23 | * which is the result of the switch. | ||
24 | * <!-- end-user-doc --> | ||
25 | * @see hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage | ||
26 | * @generated | ||
27 | */ | ||
28 | public class Ecore2logicannotationsSwitch<T> extends Switch<T> { | ||
29 | /** | ||
30 | * The cached model package | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @generated | ||
34 | */ | ||
35 | protected static Ecore2logicannotationsPackage modelPackage; | ||
36 | |||
37 | /** | ||
38 | * Creates an instance of the switch. | ||
39 | * <!-- begin-user-doc --> | ||
40 | * <!-- end-user-doc --> | ||
41 | * @generated | ||
42 | */ | ||
43 | public Ecore2logicannotationsSwitch() { | ||
44 | if (modelPackage == null) { | ||
45 | modelPackage = Ecore2logicannotationsPackage.eINSTANCE; | ||
46 | } | ||
47 | } | ||
48 | |||
49 | /** | ||
50 | * Checks whether this is a switch for the given package. | ||
51 | * <!-- begin-user-doc --> | ||
52 | * <!-- end-user-doc --> | ||
53 | * @param ePackage the package in question. | ||
54 | * @return whether this is a switch for the given package. | ||
55 | * @generated | ||
56 | */ | ||
57 | @Override | ||
58 | protected boolean isSwitchFor(EPackage ePackage) { | ||
59 | return ePackage == modelPackage; | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | ||
64 | * <!-- begin-user-doc --> | ||
65 | * <!-- end-user-doc --> | ||
66 | * @return the first non-null result returned by a <code>caseXXX</code> call. | ||
67 | * @generated | ||
68 | */ | ||
69 | @Override | ||
70 | protected T doSwitch(int classifierID, EObject theEObject) { | ||
71 | switch (classifierID) { | ||
72 | case Ecore2logicannotationsPackage.MULTIPLICITY_ASSERTION: { | ||
73 | MultiplicityAssertion multiplicityAssertion = (MultiplicityAssertion)theEObject; | ||
74 | T result = caseMultiplicityAssertion(multiplicityAssertion); | ||
75 | if (result == null) result = caseAssertionAnnotation(multiplicityAssertion); | ||
76 | if (result == null) result = caseAnnotation(multiplicityAssertion); | ||
77 | if (result == null) result = defaultCase(theEObject); | ||
78 | return result; | ||
79 | } | ||
80 | case Ecore2logicannotationsPackage.INVERSE_RELATION_ASSERTION: { | ||
81 | InverseRelationAssertion inverseRelationAssertion = (InverseRelationAssertion)theEObject; | ||
82 | T result = caseInverseRelationAssertion(inverseRelationAssertion); | ||
83 | if (result == null) result = caseAssertionAnnotation(inverseRelationAssertion); | ||
84 | if (result == null) result = caseAnnotation(inverseRelationAssertion); | ||
85 | if (result == null) result = defaultCase(theEObject); | ||
86 | return result; | ||
87 | } | ||
88 | case Ecore2logicannotationsPackage.LOWER_MULTIPLICITY_ASSERTION: { | ||
89 | LowerMultiplicityAssertion lowerMultiplicityAssertion = (LowerMultiplicityAssertion)theEObject; | ||
90 | T result = caseLowerMultiplicityAssertion(lowerMultiplicityAssertion); | ||
91 | if (result == null) result = caseMultiplicityAssertion(lowerMultiplicityAssertion); | ||
92 | if (result == null) result = caseAssertionAnnotation(lowerMultiplicityAssertion); | ||
93 | if (result == null) result = caseAnnotation(lowerMultiplicityAssertion); | ||
94 | if (result == null) result = defaultCase(theEObject); | ||
95 | return result; | ||
96 | } | ||
97 | case Ecore2logicannotationsPackage.UPPER_MULTIPLICITY_ASSERTION: { | ||
98 | UpperMultiplicityAssertion upperMultiplicityAssertion = (UpperMultiplicityAssertion)theEObject; | ||
99 | T result = caseUpperMultiplicityAssertion(upperMultiplicityAssertion); | ||
100 | if (result == null) result = caseMultiplicityAssertion(upperMultiplicityAssertion); | ||
101 | if (result == null) result = caseAssertionAnnotation(upperMultiplicityAssertion); | ||
102 | if (result == null) result = caseAnnotation(upperMultiplicityAssertion); | ||
103 | if (result == null) result = defaultCase(theEObject); | ||
104 | return result; | ||
105 | } | ||
106 | default: return defaultCase(theEObject); | ||
107 | } | ||
108 | } | ||
109 | |||
110 | /** | ||
111 | * Returns the result of interpreting the object as an instance of '<em>Multiplicity Assertion</em>'. | ||
112 | * <!-- begin-user-doc --> | ||
113 | * This implementation returns null; | ||
114 | * returning a non-null result will terminate the switch. | ||
115 | * <!-- end-user-doc --> | ||
116 | * @param object the target of the switch. | ||
117 | * @return the result of interpreting the object as an instance of '<em>Multiplicity Assertion</em>'. | ||
118 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
119 | * @generated | ||
120 | */ | ||
121 | public T caseMultiplicityAssertion(MultiplicityAssertion object) { | ||
122 | return null; | ||
123 | } | ||
124 | |||
125 | /** | ||
126 | * Returns the result of interpreting the object as an instance of '<em>Inverse Relation Assertion</em>'. | ||
127 | * <!-- begin-user-doc --> | ||
128 | * This implementation returns null; | ||
129 | * returning a non-null result will terminate the switch. | ||
130 | * <!-- end-user-doc --> | ||
131 | * @param object the target of the switch. | ||
132 | * @return the result of interpreting the object as an instance of '<em>Inverse Relation Assertion</em>'. | ||
133 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
134 | * @generated | ||
135 | */ | ||
136 | public T caseInverseRelationAssertion(InverseRelationAssertion object) { | ||
137 | return null; | ||
138 | } | ||
139 | |||
140 | /** | ||
141 | * Returns the result of interpreting the object as an instance of '<em>Lower Multiplicity Assertion</em>'. | ||
142 | * <!-- begin-user-doc --> | ||
143 | * This implementation returns null; | ||
144 | * returning a non-null result will terminate the switch. | ||
145 | * <!-- end-user-doc --> | ||
146 | * @param object the target of the switch. | ||
147 | * @return the result of interpreting the object as an instance of '<em>Lower Multiplicity Assertion</em>'. | ||
148 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
149 | * @generated | ||
150 | */ | ||
151 | public T caseLowerMultiplicityAssertion(LowerMultiplicityAssertion object) { | ||
152 | return null; | ||
153 | } | ||
154 | |||
155 | /** | ||
156 | * Returns the result of interpreting the object as an instance of '<em>Upper Multiplicity Assertion</em>'. | ||
157 | * <!-- begin-user-doc --> | ||
158 | * This implementation returns null; | ||
159 | * returning a non-null result will terminate the switch. | ||
160 | * <!-- end-user-doc --> | ||
161 | * @param object the target of the switch. | ||
162 | * @return the result of interpreting the object as an instance of '<em>Upper Multiplicity Assertion</em>'. | ||
163 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
164 | * @generated | ||
165 | */ | ||
166 | public T caseUpperMultiplicityAssertion(UpperMultiplicityAssertion object) { | ||
167 | return null; | ||
168 | } | ||
169 | |||
170 | /** | ||
171 | * Returns the result of interpreting the object as an instance of '<em>Annotation</em>'. | ||
172 | * <!-- begin-user-doc --> | ||
173 | * This implementation returns null; | ||
174 | * returning a non-null result will terminate the switch. | ||
175 | * <!-- end-user-doc --> | ||
176 | * @param object the target of the switch. | ||
177 | * @return the result of interpreting the object as an instance of '<em>Annotation</em>'. | ||
178 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
179 | * @generated | ||
180 | */ | ||
181 | public T caseAnnotation(Annotation object) { | ||
182 | return null; | ||
183 | } | ||
184 | |||
185 | /** | ||
186 | * Returns the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'. | ||
187 | * <!-- begin-user-doc --> | ||
188 | * This implementation returns null; | ||
189 | * returning a non-null result will terminate the switch. | ||
190 | * <!-- end-user-doc --> | ||
191 | * @param object the target of the switch. | ||
192 | * @return the result of interpreting the object as an instance of '<em>Assertion Annotation</em>'. | ||
193 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
194 | * @generated | ||
195 | */ | ||
196 | public T caseAssertionAnnotation(AssertionAnnotation object) { | ||
197 | return null; | ||
198 | } | ||
199 | |||
200 | /** | ||
201 | * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
202 | * <!-- begin-user-doc --> | ||
203 | * This implementation returns null; | ||
204 | * returning a non-null result will terminate the switch, but this is the last case anyway. | ||
205 | * <!-- end-user-doc --> | ||
206 | * @param object the target of the switch. | ||
207 | * @return the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
208 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) | ||
209 | * @generated | ||
210 | */ | ||
211 | @Override | ||
212 | public T defaultCase(EObject object) { | ||
213 | return null; | ||
214 | } | ||
215 | |||
216 | } //Ecore2logicannotationsSwitch | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird new file mode 100644 index 00000000..2336933d --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.aird | |||
@@ -0,0 +1,527 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <viewpoint:DAnalysis xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style" xmi:id="_8ji8MMArEeaaj7sYFz2QKg" selectedViews="_8mY00MArEeaaj7sYFz2QKg _8mhXsMArEeaaj7sYFz2QKg _8mrIsMArEeaaj7sYFz2QKg _8mydcMArEeaaj7sYFz2QKg" version="10.1.0.201509162000"> | ||
3 | <semanticResources>ecore2logicannotations.ecore</semanticResources> | ||
4 | <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore</semanticResources> | ||
5 | <semanticResources>platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore</semanticResources> | ||
6 | <semanticResources>http://www.eclipse.org/emf/2002/Ecore</semanticResources> | ||
7 | <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mY00MArEeaaj7sYFz2QKg"> | ||
8 | <ownedRepresentations xmi:type="diagram:DSemanticDiagram" xmi:id="_9rgp0MArEeaaj7sYFz2QKg" name="ecore2logicannotations class diagram"> | ||
9 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rgp0cArEeaaj7sYFz2QKg" source="DANNOTATION_CUSTOMIZATION_KEY"> | ||
10 | <data xmi:type="diagram:ComputedStyleDescriptionRegistry" xmi:id="_9rgp0sArEeaaj7sYFz2QKg"> | ||
11 | <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_DwMwIcAsEeaaj7sYFz2QKg" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1"> | ||
12 | <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
13 | <labelFormat>bold</labelFormat> | ||
14 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
15 | <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
16 | </computedStyleDescriptions> | ||
17 | <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan"> | ||
18 | <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
19 | <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_DwN-QcAsEeaaj7sYFz2QKg" showIcon="false" labelExpression="service:render"> | ||
20 | <labelFormat>bold</labelFormat> | ||
21 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
22 | </centerLabelStyleDescription> | ||
23 | <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_DwN-QsAsEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> | ||
24 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> | ||
25 | </endLabelStyleDescription> | ||
26 | </computedStyleDescriptions> | ||
27 | <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan"> | ||
28 | <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
29 | <beginLabelStyleDescription xmi:type="style:BeginLabelStyleDescription" xmi:id="_XIVCYcDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:renderEOpposite"> | ||
30 | <labelFormat>bold</labelFormat> | ||
31 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
32 | </beginLabelStyleDescription> | ||
33 | <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_XIVCYsDwEea_b6UyFzv22g" showIcon="false" labelExpression="service:render"> | ||
34 | <labelFormat>bold</labelFormat> | ||
35 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
36 | </endLabelStyleDescription> | ||
37 | </computedStyleDescriptions> | ||
38 | </data> | ||
39 | </ownedAnnotationEntries> | ||
40 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" xmi:id="_9rjtIMArEeaaj7sYFz2QKg" source="GMF_DIAGRAMS"> | ||
41 | <data xmi:type="notation:Diagram" xmi:id="_9rjtIcArEeaaj7sYFz2QKg" type="Sirius" element="_9rgp0MArEeaaj7sYFz2QKg" measurementUnit="Pixel"> | ||
42 | <children xmi:type="notation:Node" xmi:id="_-SNdcMArEeaaj7sYFz2QKg" type="2003" element="_-SH94MArEeaaj7sYFz2QKg"> | ||
43 | <children xmi:type="notation:Node" xmi:id="_-SOEgMArEeaaj7sYFz2QKg" type="5007"/> | ||
44 | <children xmi:type="notation:Node" xmi:id="_-SOrkMArEeaaj7sYFz2QKg" type="7004"> | ||
45 | <styles xmi:type="notation:SortingStyle" xmi:id="_-SOrkcArEeaaj7sYFz2QKg"/> | ||
46 | <styles xmi:type="notation:FilteringStyle" xmi:id="_-SOrksArEeaaj7sYFz2QKg"/> | ||
47 | </children> | ||
48 | <styles xmi:type="notation:ShapeStyle" xmi:id="_-SNdccArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
49 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-SNdcsArEeaaj7sYFz2QKg" x="100" y="180"/> | ||
50 | </children> | ||
51 | <children xmi:type="notation:Node" xmi:id="_-5TSoMArEeaaj7sYFz2QKg" type="2003" element="_-5OaIMArEeaaj7sYFz2QKg"> | ||
52 | <children xmi:type="notation:Node" xmi:id="_-5T5sMArEeaaj7sYFz2QKg" type="5007"/> | ||
53 | <children xmi:type="notation:Node" xmi:id="_-5T5scArEeaaj7sYFz2QKg" type="7004"> | ||
54 | <styles xmi:type="notation:SortingStyle" xmi:id="_-5T5ssArEeaaj7sYFz2QKg"/> | ||
55 | <styles xmi:type="notation:FilteringStyle" xmi:id="_-5T5s8ArEeaaj7sYFz2QKg"/> | ||
56 | </children> | ||
57 | <styles xmi:type="notation:ShapeStyle" xmi:id="_-5TSocArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
58 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5TSosArEeaaj7sYFz2QKg" x="260" y="15"/> | ||
59 | </children> | ||
60 | <children xmi:type="notation:Node" xmi:id="_ABlJUMAsEeaaj7sYFz2QKg" type="2003" element="_ABfpwMAsEeaaj7sYFz2QKg"> | ||
61 | <children xmi:type="notation:Node" xmi:id="_ABlwYMAsEeaaj7sYFz2QKg" type="5007"/> | ||
62 | <children xmi:type="notation:Node" xmi:id="_ABlwYcAsEeaaj7sYFz2QKg" type="7004"> | ||
63 | <styles xmi:type="notation:SortingStyle" xmi:id="_ABlwYsAsEeaaj7sYFz2QKg"/> | ||
64 | <styles xmi:type="notation:FilteringStyle" xmi:id="_ABlwY8AsEeaaj7sYFz2QKg"/> | ||
65 | </children> | ||
66 | <styles xmi:type="notation:ShapeStyle" xmi:id="_ABlJUcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
67 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ABlJUsAsEeaaj7sYFz2QKg" x="520" y="180" width="168" height="100"/> | ||
68 | </children> | ||
69 | <children xmi:type="notation:Node" xmi:id="_DwQagMAsEeaaj7sYFz2QKg" type="2003" element="_DwH3oMAsEeaaj7sYFz2QKg"> | ||
70 | <children xmi:type="notation:Node" xmi:id="_DwRBkMAsEeaaj7sYFz2QKg" type="5007"/> | ||
71 | <children xmi:type="notation:Node" xmi:id="_DwRBkcAsEeaaj7sYFz2QKg" type="7004"> | ||
72 | <children xmi:type="notation:Node" xmi:id="_DwRBlMAsEeaaj7sYFz2QKg" type="3010" element="_DwMwIMAsEeaaj7sYFz2QKg"> | ||
73 | <styles xmi:type="notation:FontStyle" xmi:id="_DwRBlcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/> | ||
74 | <layoutConstraint xmi:type="notation:Location" xmi:id="_DwRBlsAsEeaaj7sYFz2QKg"/> | ||
75 | </children> | ||
76 | <styles xmi:type="notation:SortingStyle" xmi:id="_DwRBksAsEeaaj7sYFz2QKg"/> | ||
77 | <styles xmi:type="notation:FilteringStyle" xmi:id="_DwRBk8AsEeaaj7sYFz2QKg"/> | ||
78 | </children> | ||
79 | <styles xmi:type="notation:ShapeStyle" xmi:id="_DwQagcAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
80 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DwQagsAsEeaaj7sYFz2QKg" x="500" y="15"/> | ||
81 | </children> | ||
82 | <children xmi:type="notation:Node" xmi:id="_Cu2ycMAtEeaaj7sYFz2QKg" type="2003" element="_CuwEwMAtEeaaj7sYFz2QKg"> | ||
83 | <children xmi:type="notation:Node" xmi:id="_Cu2yc8AtEeaaj7sYFz2QKg" type="5007"/> | ||
84 | <children xmi:type="notation:Node" xmi:id="_Cu2ydMAtEeaaj7sYFz2QKg" type="7004"> | ||
85 | <children xmi:type="notation:Node" xmi:id="_GeXKEMAtEeaaj7sYFz2QKg" type="3010" element="_JJ28cMAsEeaaj7sYFz2QKg"> | ||
86 | <styles xmi:type="notation:FontStyle" xmi:id="_GeXKEcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/> | ||
87 | <layoutConstraint xmi:type="notation:Location" xmi:id="_GeXKEsAtEeaaj7sYFz2QKg"/> | ||
88 | </children> | ||
89 | <styles xmi:type="notation:SortingStyle" xmi:id="_Cu2ydcAtEeaaj7sYFz2QKg"/> | ||
90 | <styles xmi:type="notation:FilteringStyle" xmi:id="_Cu2ydsAtEeaaj7sYFz2QKg"/> | ||
91 | </children> | ||
92 | <styles xmi:type="notation:ShapeStyle" xmi:id="_Cu2yccAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
93 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Cu2ycsAtEeaaj7sYFz2QKg" x="25" y="330" width="120" height="100"/> | ||
94 | </children> | ||
95 | <children xmi:type="notation:Node" xmi:id="_EQinoMAtEeaaj7sYFz2QKg" type="2003" element="_EQaEwMAtEeaaj7sYFz2QKg"> | ||
96 | <children xmi:type="notation:Node" xmi:id="_EQjOsMAtEeaaj7sYFz2QKg" type="5007"/> | ||
97 | <children xmi:type="notation:Node" xmi:id="_EQjOscAtEeaaj7sYFz2QKg" type="7004"> | ||
98 | <children xmi:type="notation:Node" xmi:id="_GLWugMAtEeaaj7sYFz2QKg" type="3010" element="_KDnO8MAsEeaaj7sYFz2QKg"> | ||
99 | <styles xmi:type="notation:FontStyle" xmi:id="_GLWugcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" bold="true"/> | ||
100 | <layoutConstraint xmi:type="notation:Location" xmi:id="_GLWugsAtEeaaj7sYFz2QKg"/> | ||
101 | </children> | ||
102 | <styles xmi:type="notation:SortingStyle" xmi:id="_EQjOssAtEeaaj7sYFz2QKg"/> | ||
103 | <styles xmi:type="notation:FilteringStyle" xmi:id="_EQjOs8AtEeaaj7sYFz2QKg"/> | ||
104 | </children> | ||
105 | <styles xmi:type="notation:ShapeStyle" xmi:id="_EQinocAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
106 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EQinosAtEeaaj7sYFz2QKg" x="163" y="330" width="120" height="100"/> | ||
107 | </children> | ||
108 | <children xmi:type="notation:Node" xmi:id="_LJwiMMAtEeaaj7sYFz2QKg" type="2003" element="_LJomYMAtEeaaj7sYFz2QKg"> | ||
109 | <children xmi:type="notation:Node" xmi:id="_LJwiM8AtEeaaj7sYFz2QKg" type="5007"/> | ||
110 | <children xmi:type="notation:Node" xmi:id="_LJxJQMAtEeaaj7sYFz2QKg" type="7004"> | ||
111 | <styles xmi:type="notation:SortingStyle" xmi:id="_LJxJQcAtEeaaj7sYFz2QKg"/> | ||
112 | <styles xmi:type="notation:FilteringStyle" xmi:id="_LJxJQsAtEeaaj7sYFz2QKg"/> | ||
113 | </children> | ||
114 | <styles xmi:type="notation:ShapeStyle" xmi:id="_LJwiMcAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
115 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJwiMsAtEeaaj7sYFz2QKg" x="280" y="-150"/> | ||
116 | </children> | ||
117 | <children xmi:type="notation:Node" xmi:id="_OgZt4MAtEeaaj7sYFz2QKg" type="2003" element="_OgM5kMAtEeaaj7sYFz2QKg"> | ||
118 | <children xmi:type="notation:Node" xmi:id="_OgZt48AtEeaaj7sYFz2QKg" type="5007"/> | ||
119 | <children xmi:type="notation:Node" xmi:id="_OgZt5MAtEeaaj7sYFz2QKg" type="7004"> | ||
120 | <styles xmi:type="notation:SortingStyle" xmi:id="_OgZt5cAtEeaaj7sYFz2QKg"/> | ||
121 | <styles xmi:type="notation:FilteringStyle" xmi:id="_OgZt5sAtEeaaj7sYFz2QKg"/> | ||
122 | </children> | ||
123 | <styles xmi:type="notation:ShapeStyle" xmi:id="_OgZt4cAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8" italic="true"/> | ||
124 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OgZt4sAtEeaaj7sYFz2QKg" x="315" y="180"/> | ||
125 | </children> | ||
126 | <styles xmi:type="notation:DiagramStyle" xmi:id="_9rjtIsArEeaaj7sYFz2QKg"/> | ||
127 | <edges xmi:type="notation:Edge" xmi:id="_-5VH0MArEeaaj7sYFz2QKg" type="4001" element="_-5SEgcArEeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg"> | ||
128 | <children xmi:type="notation:Node" xmi:id="_-5Vu4MArEeaaj7sYFz2QKg" type="6001"> | ||
129 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu4cArEeaaj7sYFz2QKg" y="-10"/> | ||
130 | </children> | ||
131 | <children xmi:type="notation:Node" xmi:id="_-5Vu4sArEeaaj7sYFz2QKg" type="6002"> | ||
132 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu48ArEeaaj7sYFz2QKg" y="10"/> | ||
133 | </children> | ||
134 | <children xmi:type="notation:Node" xmi:id="_-5Vu5MArEeaaj7sYFz2QKg" type="6003"> | ||
135 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-5Vu5cArEeaaj7sYFz2QKg" y="10"/> | ||
136 | </children> | ||
137 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_-5VH0cArEeaaj7sYFz2QKg" routing="Tree"/> | ||
138 | <styles xmi:type="notation:FontStyle" xmi:id="_-5VH0sArEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
139 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-5VH08ArEeaaj7sYFz2QKg" points="[210, 135, 210, 135]$[0, 0, 0, 0]"/> | ||
140 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8MArEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
141 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-5WV8cArEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
142 | </edges> | ||
143 | <edges xmi:type="notation:Edge" xmi:id="_u58dgMAsEeaaj7sYFz2QKg" type="4001" element="_u5ysgMAsEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_-5TSoMArEeaaj7sYFz2QKg"> | ||
144 | <children xmi:type="notation:Node" xmi:id="_u58dhMAsEeaaj7sYFz2QKg" type="6001"> | ||
145 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EkMAsEeaaj7sYFz2QKg" y="-10"/> | ||
146 | </children> | ||
147 | <children xmi:type="notation:Node" xmi:id="_u59EkcAsEeaaj7sYFz2QKg" type="6002"> | ||
148 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59EksAsEeaaj7sYFz2QKg" y="10"/> | ||
149 | </children> | ||
150 | <children xmi:type="notation:Node" xmi:id="_u59Ek8AsEeaaj7sYFz2QKg" type="6003"> | ||
151 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u59ElMAsEeaaj7sYFz2QKg" y="10"/> | ||
152 | </children> | ||
153 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_u58dgcAsEeaaj7sYFz2QKg" routing="Tree"/> | ||
154 | <styles xmi:type="notation:FontStyle" xmi:id="_u58dgsAsEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
155 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_u58dg8AsEeaaj7sYFz2QKg" points="[0, 0, 101, 67]$[-101, -67, 0, 0]"/> | ||
156 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElcAsEeaaj7sYFz2QKg" id="(0.8132530120481928,0.0)"/> | ||
157 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_u59ElsAsEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
158 | </edges> | ||
159 | <edges xmi:type="notation:Edge" xmi:id="_HR0nUMAtEeaaj7sYFz2QKg" type="4001" element="_HRrdYMAtEeaaj7sYFz2QKg" source="_Cu2ycMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg"> | ||
160 | <children xmi:type="notation:Node" xmi:id="_HR1OYMAtEeaaj7sYFz2QKg" type="6001"> | ||
161 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OYcAtEeaaj7sYFz2QKg" y="-10"/> | ||
162 | </children> | ||
163 | <children xmi:type="notation:Node" xmi:id="_HR1OYsAtEeaaj7sYFz2QKg" type="6002"> | ||
164 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OY8AtEeaaj7sYFz2QKg" y="10"/> | ||
165 | </children> | ||
166 | <children xmi:type="notation:Node" xmi:id="_HR1OZMAtEeaaj7sYFz2QKg" type="6003"> | ||
167 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HR1OZcAtEeaaj7sYFz2QKg" y="10"/> | ||
168 | </children> | ||
169 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_HR0nUcAtEeaaj7sYFz2QKg" routing="Tree"/> | ||
170 | <styles xmi:type="notation:FontStyle" xmi:id="_HR0nUsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
171 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HR0nU8AtEeaaj7sYFz2QKg" points="[0, 0, -35, 52]$[35, -52, 0, 0]"/> | ||
172 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZsAtEeaaj7sYFz2QKg" id="(0.635593220338983,0.0)"/> | ||
173 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HR1OZ8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
174 | </edges> | ||
175 | <edges xmi:type="notation:Edge" xmi:id="_HuNoYMAtEeaaj7sYFz2QKg" type="4001" element="_HuEecMAtEeaaj7sYFz2QKg" source="_EQinoMAtEeaaj7sYFz2QKg" target="_-SNdcMArEeaaj7sYFz2QKg"> | ||
176 | <children xmi:type="notation:Node" xmi:id="_HuNoZMAtEeaaj7sYFz2QKg" type="6001"> | ||
177 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZcAtEeaaj7sYFz2QKg" y="-10"/> | ||
178 | </children> | ||
179 | <children xmi:type="notation:Node" xmi:id="_HuNoZsAtEeaaj7sYFz2QKg" type="6002"> | ||
180 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoZ8AtEeaaj7sYFz2QKg" y="10"/> | ||
181 | </children> | ||
182 | <children xmi:type="notation:Node" xmi:id="_HuNoaMAtEeaaj7sYFz2QKg" type="6003"> | ||
183 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HuNoacAtEeaaj7sYFz2QKg" y="10"/> | ||
184 | </children> | ||
185 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_HuNoYcAtEeaaj7sYFz2QKg" routing="Tree"/> | ||
186 | <styles xmi:type="notation:FontStyle" xmi:id="_HuNoYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
187 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HuNoY8AtEeaaj7sYFz2QKg" points="[0, 0, 112, 52]$[-112, -52, 0, 0]"/> | ||
188 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoasAtEeaaj7sYFz2QKg" id="(0.5,0.0)"/> | ||
189 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HuNoa8AtEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
190 | </edges> | ||
191 | <edges xmi:type="notation:Edge" xmi:id="_LJyXYMAtEeaaj7sYFz2QKg" type="4001" element="_LJutAMAtEeaaj7sYFz2QKg" source="_-5TSoMArEeaaj7sYFz2QKg" target="_LJwiMMAtEeaaj7sYFz2QKg"> | ||
192 | <children xmi:type="notation:Node" xmi:id="_LJyXZMAtEeaaj7sYFz2QKg" type="6001"> | ||
193 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZcAtEeaaj7sYFz2QKg" y="-10"/> | ||
194 | </children> | ||
195 | <children xmi:type="notation:Node" xmi:id="_LJyXZsAtEeaaj7sYFz2QKg" type="6002"> | ||
196 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXZ8AtEeaaj7sYFz2QKg" y="10"/> | ||
197 | </children> | ||
198 | <children xmi:type="notation:Node" xmi:id="_LJyXaMAtEeaaj7sYFz2QKg" type="6003"> | ||
199 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LJyXacAtEeaaj7sYFz2QKg" y="10"/> | ||
200 | </children> | ||
201 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_LJyXYcAtEeaaj7sYFz2QKg" routing="Tree"/> | ||
202 | <styles xmi:type="notation:FontStyle" xmi:id="_LJyXYsAtEeaaj7sYFz2QKg" fontName="Segoe UI" fontHeight="8"/> | ||
203 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LJyXY8AtEeaaj7sYFz2QKg" points="[260, 15, 260, 15]$[0, 0, 0, 0]"/> | ||
204 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgMAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
205 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LJzlgcAtEeaaj7sYFz2QKg" id="(0.5,0.5)"/> | ||
206 | </edges> | ||
207 | <edges xmi:type="notation:Edge" xmi:id="_QkxZYMAtEeaaj7sYFz2QKg" type="4001" element="_Qko2gMAtEeaaj7sYFz2QKg" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg"> | ||
208 | <children xmi:type="notation:Node" xmi:id="_QkxZZMAtEeaaj7sYFz2QKg" type="6001"> | ||
209 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZcAtEeaaj7sYFz2QKg" x="1" y="12"/> | ||
210 | </children> | ||
211 | <children xmi:type="notation:Node" xmi:id="_QkxZZsAtEeaaj7sYFz2QKg" type="6002"> | ||
212 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZZ8AtEeaaj7sYFz2QKg" y="-10"/> | ||
213 | </children> | ||
214 | <children xmi:type="notation:Node" xmi:id="_QkxZaMAtEeaaj7sYFz2QKg" type="6003"> | ||
215 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QkxZacAtEeaaj7sYFz2QKg" y="-10"/> | ||
216 | </children> | ||
217 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_QkxZYcAtEeaaj7sYFz2QKg" routing="Rectilinear"/> | ||
218 | <styles xmi:type="notation:FontStyle" xmi:id="_QkxZYsAtEeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> | ||
219 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QkxZY8AtEeaaj7sYFz2QKg" points="[-166, 30, 205, 30]$[-253, 30, 118, 30]"/> | ||
220 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAcMAtEeaaj7sYFz2QKg" id="(1.0,0.0)"/> | ||
221 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_QkyAccAtEeaaj7sYFz2QKg" id="(0.0,0.0)"/> | ||
222 | </edges> | ||
223 | <edges xmi:type="notation:Edge" xmi:id="_wTbfUMA0Eeaaj7sYFz2QKg" type="4001" element="_wTP5IMA0Eeaaj7sYFz2QKg" source="_-SNdcMArEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg"> | ||
224 | <children xmi:type="notation:Node" xmi:id="_wTbfVMA0Eeaaj7sYFz2QKg" type="6001"> | ||
225 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfVcA0Eeaaj7sYFz2QKg" x="-2" y="-12"/> | ||
226 | </children> | ||
227 | <children xmi:type="notation:Node" xmi:id="_wTbfVsA0Eeaaj7sYFz2QKg" type="6002"> | ||
228 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTbfV8A0Eeaaj7sYFz2QKg" x="21" y="10"/> | ||
229 | </children> | ||
230 | <children xmi:type="notation:Node" xmi:id="_wTcGYMA0Eeaaj7sYFz2QKg" type="6003"> | ||
231 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wTcGYcA0Eeaaj7sYFz2QKg" y="10"/> | ||
232 | </children> | ||
233 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_wTbfUcA0Eeaaj7sYFz2QKg" routing="Rectilinear"/> | ||
234 | <styles xmi:type="notation:FontStyle" xmi:id="_wTbfUsA0Eeaaj7sYFz2QKg" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> | ||
235 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wTbfU8A0Eeaaj7sYFz2QKg" points="[0, 20, -124, 60]$[89, 20, -35, 60]"/> | ||
236 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGYsA0Eeaaj7sYFz2QKg" id="(1.0,0.40816326530612246)"/> | ||
237 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wTcGY8A0Eeaaj7sYFz2QKg" id="(0.2966101694915254,0.0)"/> | ||
238 | </edges> | ||
239 | <edges xmi:type="notation:Edge" xmi:id="_D6-y0MDnEea_b6UyFzv22g" type="4001" element="_D6viQMDnEea_b6UyFzv22g" source="_ABlJUMAsEeaaj7sYFz2QKg" target="_OgZt4MAtEeaaj7sYFz2QKg"> | ||
240 | <children xmi:type="notation:Node" xmi:id="_D6_Z4MDnEea_b6UyFzv22g" type="6001"> | ||
241 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z4cDnEea_b6UyFzv22g" y="-6"/> | ||
242 | </children> | ||
243 | <children xmi:type="notation:Node" xmi:id="_D6_Z4sDnEea_b6UyFzv22g" type="6002"> | ||
244 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z48DnEea_b6UyFzv22g" x="1" y="10"/> | ||
245 | </children> | ||
246 | <children xmi:type="notation:Node" xmi:id="_D6_Z5MDnEea_b6UyFzv22g" type="6003"> | ||
247 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D6_Z5cDnEea_b6UyFzv22g" x="-2" y="10"/> | ||
248 | </children> | ||
249 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_D6-y0cDnEea_b6UyFzv22g" routing="Rectilinear"/> | ||
250 | <styles xmi:type="notation:FontStyle" xmi:id="_D6-y0sDnEea_b6UyFzv22g" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> | ||
251 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D6-y08DnEea_b6UyFzv22g" points="[0, 0, 87, 10]$[-87, 0, 0, 10]"/> | ||
252 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D6_Z5sDnEea_b6UyFzv22g" id="(0.0,0.8673469387755102)"/> | ||
253 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D7AA8MDnEea_b6UyFzv22g" id="(1.0,0.7653061224489796)"/> | ||
254 | </edges> | ||
255 | <edges xmi:type="notation:Edge" xmi:id="_NpFP0MDnEea_b6UyFzv22g" type="4001" element="_NozjAMDnEea_b6UyFzv22g" source="_-5TSoMArEeaaj7sYFz2QKg" target="_DwQagMAsEeaaj7sYFz2QKg"> | ||
256 | <children xmi:type="notation:Node" xmi:id="_NpFP1MDnEea_b6UyFzv22g" type="6001"> | ||
257 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpFP1cDnEea_b6UyFzv22g" y="-10"/> | ||
258 | </children> | ||
259 | <children xmi:type="notation:Node" xmi:id="_NpF24MDnEea_b6UyFzv22g" type="6002"> | ||
260 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF24cDnEea_b6UyFzv22g" y="10"/> | ||
261 | </children> | ||
262 | <children xmi:type="notation:Node" xmi:id="_NpF24sDnEea_b6UyFzv22g" type="6003"> | ||
263 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NpF248DnEea_b6UyFzv22g" y="10"/> | ||
264 | </children> | ||
265 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_NpFP0cDnEea_b6UyFzv22g" routing="Rectilinear"/> | ||
266 | <styles xmi:type="notation:FontStyle" xmi:id="_NpFP0sDnEea_b6UyFzv22g" fontName="Segoe UI" fontHeight="8" bold="true"/> | ||
267 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NpFP08DnEea_b6UyFzv22g" points="[260, 15, 260, 15]$[500, 15, 500, 15]"/> | ||
268 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25MDnEea_b6UyFzv22g" id="(0.5,0.5)"/> | ||
269 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NpF25cDnEea_b6UyFzv22g" id="(0.5,0.5)"/> | ||
270 | </edges> | ||
271 | </data> | ||
272 | </ownedAnnotationEntries> | ||
273 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-SH94MArEeaaj7sYFz2QKg" name="MultiplicityAssertion" tooltipText="" outgoingEdges="_-5SEgcArEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg" incomingEdges="_HRrdYMAtEeaaj7sYFz2QKg _HuEecMAtEeaaj7sYFz2QKg" width="12" height="10"> | ||
274 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/> | ||
275 | <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/> | ||
276 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
277 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
278 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
279 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_BQSisMAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
280 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
281 | </ownedStyle> | ||
282 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
283 | </ownedDiagramElements> | ||
284 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_-5OaIMArEeaaj7sYFz2QKg" name="AssertionAnnotation" tooltipText="" outgoingEdges="_LJutAMAtEeaaj7sYFz2QKg _NozjAMDnEea_b6UyFzv22g" incomingEdges="_-5SEgcArEeaaj7sYFz2QKg _u5ysgMAsEeaaj7sYFz2QKg" width="12" height="10"> | ||
285 | <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> | ||
286 | <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> | ||
287 | <decorations xmi:type="viewpoint:Decoration" xmi:id="_-5SEgMArEeaaj7sYFz2QKg"> | ||
288 | <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> | ||
289 | </decorations> | ||
290 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
291 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
292 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
293 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_XIPi0MDwEea_b6UyFzv22g" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
294 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
295 | </ownedStyle> | ||
296 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
297 | </ownedDiagramElements> | ||
298 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_-5SEgcArEeaaj7sYFz2QKg" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg"> | ||
299 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//MultiplicityAssertion"/> | ||
300 | <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//MultiplicityAssertion/@eGenericSuperTypes.0"/> | ||
301 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_BQWNEMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
302 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
303 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_BQWNEcAtEeaaj7sYFz2QKg" showIcon="false"> | ||
304 | <labelFormat>italic</labelFormat> | ||
305 | </beginLabelStyle> | ||
306 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_BQWNEsAtEeaaj7sYFz2QKg" showIcon="false"/> | ||
307 | </ownedStyle> | ||
308 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
309 | </ownedDiagramElements> | ||
310 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_ABfpwMAsEeaaj7sYFz2QKg" name="InverseRelationAssertion" tooltipText="" outgoingEdges="_u5ysgMAsEeaaj7sYFz2QKg _Qko2gMAtEeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10"> | ||
311 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/> | ||
312 | <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/> | ||
313 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
314 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
315 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
316 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_ABfpwcAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
317 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
318 | </ownedStyle> | ||
319 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
320 | </ownedDiagramElements> | ||
321 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_DwH3oMAsEeaaj7sYFz2QKg" name="Assertion" tooltipText="" incomingEdges="_NozjAMDnEea_b6UyFzv22g" width="12" height="10"> | ||
322 | <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/> | ||
323 | <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion"/> | ||
324 | <decorations xmi:type="viewpoint:Decoration" xmi:id="_DwNXMMAsEeaaj7sYFz2QKg"> | ||
325 | <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> | ||
326 | </decorations> | ||
327 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
328 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
329 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
330 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_DwH3ocAsEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
331 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
332 | </ownedStyle> | ||
333 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
334 | <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_DwMwIMAsEeaaj7sYFz2QKg" name="name : EString" tooltipText=""> | ||
335 | <target xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/> | ||
336 | <semanticElements xmi:type="ecore:EAttribute" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/name"/> | ||
337 | <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_DwMwIsAsEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg"> | ||
338 | <labelFormat>bold</labelFormat> | ||
339 | </ownedStyle> | ||
340 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
341 | </ownedElements> | ||
342 | </ownedDiagramElements> | ||
343 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_u5ysgMAsEeaaj7sYFz2QKg" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_-5OaIMArEeaaj7sYFz2QKg"> | ||
344 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//InverseRelationAssertion"/> | ||
345 | <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//InverseRelationAssertion/@eGenericSuperTypes.0"/> | ||
346 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_u5zTkMAsEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
347 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
348 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_u5zTkcAsEeaaj7sYFz2QKg" showIcon="false"> | ||
349 | <labelFormat>italic</labelFormat> | ||
350 | </beginLabelStyle> | ||
351 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_u5zTksAsEeaaj7sYFz2QKg" showIcon="false"/> | ||
352 | </ownedStyle> | ||
353 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
354 | </ownedDiagramElements> | ||
355 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_CuwEwMAtEeaaj7sYFz2QKg" name="LowerMultiplicityAssertion" tooltipText="" outgoingEdges="_HRrdYMAtEeaaj7sYFz2QKg" width="12" height="10"> | ||
356 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/> | ||
357 | <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/> | ||
358 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
359 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
360 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
361 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_CuwEwcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
362 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
363 | </ownedStyle> | ||
364 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
365 | <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_JJ28cMAsEeaaj7sYFz2QKg" name="lower : EInt" tooltipText=""> | ||
366 | <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/> | ||
367 | <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/> | ||
368 | <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_Alvw4MAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg"> | ||
369 | <labelFormat>bold</labelFormat> | ||
370 | </ownedStyle> | ||
371 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
372 | </ownedElements> | ||
373 | </ownedDiagramElements> | ||
374 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_EQaEwMAtEeaaj7sYFz2QKg" name="UpperMultiplicityAssertion" tooltipText="" outgoingEdges="_HuEecMAtEeaaj7sYFz2QKg" width="12" height="10"> | ||
375 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/> | ||
376 | <semanticElements xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/> | ||
377 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
378 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
379 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
380 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_EQar0MAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
381 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
382 | </ownedStyle> | ||
383 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
384 | <ownedElements xmi:type="diagram:DNodeListElement" xmi:id="_KDnO8MAsEeaaj7sYFz2QKg" name="upper : EInt" tooltipText=""> | ||
385 | <target xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/> | ||
386 | <semanticElements xmi:type="ecore:EAttribute" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/> | ||
387 | <ownedStyle xmi:type="diagram:BundledImage" xmi:id="_F2B-wMAtEeaaj7sYFz2QKg" labelAlignment="LEFT" description="_DwMwIcAsEeaaj7sYFz2QKg"> | ||
388 | <labelFormat>bold</labelFormat> | ||
389 | </ownedStyle> | ||
390 | <actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/> | ||
391 | </ownedElements> | ||
392 | </ownedDiagramElements> | ||
393 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HRrdYMAtEeaaj7sYFz2QKg" sourceNode="_CuwEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg"> | ||
394 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"/> | ||
395 | <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//LowerMultiplicityAssertion/@eGenericSuperTypes.0"/> | ||
396 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HRsEcMAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
397 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
398 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HRsEccAtEeaaj7sYFz2QKg" showIcon="false"> | ||
399 | <labelFormat>italic</labelFormat> | ||
400 | </beginLabelStyle> | ||
401 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HRsEcsAtEeaaj7sYFz2QKg" showIcon="false"/> | ||
402 | </ownedStyle> | ||
403 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
404 | </ownedDiagramElements> | ||
405 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_HuEecMAtEeaaj7sYFz2QKg" sourceNode="_EQaEwMAtEeaaj7sYFz2QKg" targetNode="_-SH94MArEeaaj7sYFz2QKg"> | ||
406 | <target xmi:type="ecore:EClass" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"/> | ||
407 | <semanticElements xmi:type="ecore:EGenericType" href="ecore2logicannotations.ecore#//UpperMultiplicityAssertion/@eGenericSuperTypes.0"/> | ||
408 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_HuEeccAtEeaaj7sYFz2QKg" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
409 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
410 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_HuEecsAtEeaaj7sYFz2QKg" showIcon="false"> | ||
411 | <labelFormat>italic</labelFormat> | ||
412 | </beginLabelStyle> | ||
413 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_HuEec8AtEeaaj7sYFz2QKg" showIcon="false"/> | ||
414 | </ownedStyle> | ||
415 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
416 | </ownedDiagramElements> | ||
417 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_LJomYMAtEeaaj7sYFz2QKg" name="Annotation" tooltipText="" incomingEdges="_LJutAMAtEeaaj7sYFz2QKg" width="12" height="10"> | ||
418 | <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> | ||
419 | <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//Annotation"/> | ||
420 | <decorations xmi:type="viewpoint:Decoration" xmi:id="_LJte4MAtEeaaj7sYFz2QKg"> | ||
421 | <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> | ||
422 | </decorations> | ||
423 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
424 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
425 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
426 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_LJomYcAtEeaaj7sYFz2QKg" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
427 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/> | ||
428 | </ownedStyle> | ||
429 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
430 | </ownedDiagramElements> | ||
431 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_LJutAMAtEeaaj7sYFz2QKg" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_LJomYMAtEeaaj7sYFz2QKg"> | ||
432 | <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"/> | ||
433 | <semanticElements xmi:type="ecore:EGenericType" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/@eGenericSuperTypes.0"/> | ||
434 | <decorations xmi:type="viewpoint:Decoration" xmi:id="_QknoYMAtEeaaj7sYFz2QKg"> | ||
435 | <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> | ||
436 | </decorations> | ||
437 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIT0QMDwEea_b6UyFzv22g" targetArrow="InputClosedArrow" routingStyle="tree"> | ||
438 | <description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/> | ||
439 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIUbUMDwEea_b6UyFzv22g" showIcon="false"> | ||
440 | <labelFormat>italic</labelFormat> | ||
441 | </beginLabelStyle> | ||
442 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_XIUbUcDwEea_b6UyFzv22g" showIcon="false"/> | ||
443 | </ownedStyle> | ||
444 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/> | ||
445 | </ownedDiagramElements> | ||
446 | <ownedDiagramElements xmi:type="diagram:DNodeList" xmi:id="_OgM5kMAtEeaaj7sYFz2QKg" name="Relation" tooltipText="" incomingEdges="_Qko2gMAtEeaaj7sYFz2QKg _wTP5IMA0Eeaaj7sYFz2QKg _D6viQMDnEea_b6UyFzv22g" width="12" height="10"> | ||
447 | <target xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> | ||
448 | <semanticElements xmi:type="ecore:EClass" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> | ||
449 | <decorations xmi:type="viewpoint:Decoration" xmi:id="_OgTnQMAtEeaaj7sYFz2QKg"> | ||
450 | <description xmi:type="description:SemanticBasedDecoration" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@decorationDescriptionsSet/@decorationDescriptions[name='External']"/> | ||
451 | </decorations> | ||
452 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
453 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
454 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
455 | <ownedStyle xmi:type="diagram:FlatContainerStyle" xmi:id="_OgNgoMAtEeaaj7sYFz2QKg" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228"> | ||
456 | <labelFormat>italic</labelFormat> | ||
457 | <description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/> | ||
458 | </ownedStyle> | ||
459 | <actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/> | ||
460 | </ownedDiagramElements> | ||
461 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_Qko2gMAtEeaaj7sYFz2QKg" name="[1..1] inverseA" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> | ||
462 | <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/> | ||
463 | <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseA"/> | ||
464 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_UKs-QMAtEeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> | ||
465 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_UKs-QcAtEeaaj7sYFz2QKg" showIcon="false"> | ||
466 | <labelFormat>bold</labelFormat> | ||
467 | </centerLabelStyle> | ||
468 | <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_UKs-QsAtEeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/> | ||
469 | </ownedStyle> | ||
470 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> | ||
471 | </ownedDiagramElements> | ||
472 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_wTP5IMA0Eeaaj7sYFz2QKg" name="[1..1] relation" sourceNode="_-SH94MArEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> | ||
473 | <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/> | ||
474 | <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//MultiplicityAssertion/relation"/> | ||
475 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_x7xWIMA0Eeaaj7sYFz2QKg" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> | ||
476 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_x7xWIcA0Eeaaj7sYFz2QKg" showIcon="false"> | ||
477 | <labelFormat>bold</labelFormat> | ||
478 | </centerLabelStyle> | ||
479 | <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_x7xWIsA0Eeaaj7sYFz2QKg" labelSize="6" showIcon="false" labelColor="39,76,114"/> | ||
480 | </ownedStyle> | ||
481 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> | ||
482 | </ownedDiagramElements> | ||
483 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_D6viQMDnEea_b6UyFzv22g" name="[1..1] inverseB" sourceNode="_ABfpwMAsEeaaj7sYFz2QKg" targetNode="_OgM5kMAtEeaaj7sYFz2QKg"> | ||
484 | <target xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/> | ||
485 | <semanticElements xmi:type="ecore:EReference" href="ecore2logicannotations.ecore#//InverseRelationAssertion/inverseB"/> | ||
486 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_F6Fj0MDnEea_b6UyFzv22g" description="_DwN-QMAsEeaaj7sYFz2QKg" routingStyle="manhattan" strokeColor="0,0,0"> | ||
487 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" xmi:id="_F6Fj0cDnEea_b6UyFzv22g" showIcon="false"> | ||
488 | <labelFormat>bold</labelFormat> | ||
489 | </centerLabelStyle> | ||
490 | <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_F6Fj0sDnEea_b6UyFzv22g" labelSize="6" showIcon="false" labelColor="39,76,114"/> | ||
491 | </ownedStyle> | ||
492 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/> | ||
493 | </ownedDiagramElements> | ||
494 | <ownedDiagramElements xmi:type="diagram:DEdge" xmi:id="_NozjAMDnEea_b6UyFzv22g" sourceNode="_-5OaIMArEeaaj7sYFz2QKg" targetNode="_DwH3oMAsEeaaj7sYFz2QKg" beginLabel="[0..*] annotations" endLabel="[1..1] target"> | ||
495 | <target xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> | ||
496 | <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Assertion/annotations"/> | ||
497 | <semanticElements xmi:type="ecore:EReference" href="platform:/resource/hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation/target"/> | ||
498 | <ownedStyle xmi:type="diagram:EdgeStyle" xmi:id="_XIVpcMDwEea_b6UyFzv22g" description="_XIVCYMDwEea_b6UyFzv22g" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> | ||
499 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" xmi:id="_XIVpccDwEea_b6UyFzv22g" showIcon="false"> | ||
500 | <labelFormat>bold</labelFormat> | ||
501 | </beginLabelStyle> | ||
502 | <endLabelStyle xmi:type="diagram:EndLabelStyle" xmi:id="_XIVpcsDwEea_b6UyFzv22g" showIcon="false"> | ||
503 | <labelFormat>bold</labelFormat> | ||
504 | </endLabelStyle> | ||
505 | </ownedStyle> | ||
506 | <actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='Bi-directional%20EC_EReference%20']"/> | ||
507 | </ownedDiagramElements> | ||
508 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> | ||
509 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" xmi:id="_9rgp1cArEeaaj7sYFz2QKg"/> | ||
510 | <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> | ||
511 | <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/> | ||
512 | <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/> | ||
513 | <activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/> | ||
514 | <target xmi:type="ecore:EPackage" href="ecore2logicannotations.ecore#/"/> | ||
515 | </ownedRepresentations> | ||
516 | <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> | ||
517 | </ownedViews> | ||
518 | <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mhXsMArEeaaj7sYFz2QKg"> | ||
519 | <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/> | ||
520 | </ownedViews> | ||
521 | <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mrIsMArEeaaj7sYFz2QKg"> | ||
522 | <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/> | ||
523 | </ownedViews> | ||
524 | <ownedViews xmi:type="viewpoint:DRepresentationContainer" xmi:id="_8mydcMArEeaaj7sYFz2QKg"> | ||
525 | <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/> | ||
526 | </ownedViews> | ||
527 | </viewpoint:DAnalysis> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore new file mode 100644 index 00000000..99c70059 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.ecore | |||
@@ -0,0 +1,21 @@ | |||
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="ecore2logicannotations" nsURI="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" | ||
4 | nsPrefix="ecore2logicannotations"> | ||
5 | <eClassifiers xsi:type="ecore:EClass" name="MultiplicityAssertion" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"> | ||
6 | <eStructuralFeatures xsi:type="ecore:EReference" name="relation" lowerBound="1" | ||
7 | eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> | ||
8 | </eClassifiers> | ||
9 | <eClassifiers xsi:type="ecore:EClass" name="InverseRelationAssertion" eSuperTypes="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logicproblem.ecore#//AssertionAnnotation"> | ||
10 | <eStructuralFeatures xsi:type="ecore:EReference" name="inverseA" lowerBound="1" | ||
11 | eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> | ||
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="inverseB" lowerBound="1" | ||
13 | eType="ecore:EClass ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.ecore#//Relation"/> | ||
14 | </eClassifiers> | ||
15 | <eClassifiers xsi:type="ecore:EClass" name="LowerMultiplicityAssertion" eSuperTypes="#//MultiplicityAssertion"> | ||
16 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
17 | </eClassifiers> | ||
18 | <eClassifiers xsi:type="ecore:EClass" name="UpperMultiplicityAssertion" eSuperTypes="#//MultiplicityAssertion"> | ||
19 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> | ||
20 | </eClassifiers> | ||
21 | </ecore:EPackage> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel new file mode 100644 index 00000000..39176118 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/model/ecore2logicannotations.genmodel | |||
@@ -0,0 +1,22 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" | ||
3 | xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/hu.bme.mit.inf.dslreasoner.ecore2logic/ecore-gen" | ||
4 | modelPluginID="hu.bme.mit.inf.dslreasoner.ecore2logic" modelName="Ecore2logicannotations" | ||
5 | rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" importerID="org.eclipse.emf.importer.ecore" | ||
6 | complianceLevel="8.0" copyrightFields="false" usedGenPackages="../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logiclanguage ../../hu.bme.mit.inf.dslreasoner.logic.model/model/logiclanguage.genmodel#//logicproblem" | ||
7 | operationReflection="true" importOrganizing="true"> | ||
8 | <foreignModel>ecore2logicannotations.ecore</foreignModel> | ||
9 | <genPackages prefix="Ecore2logicannotations" basePackage="hu.bme.mit.inf.dslreasoner.ecore2logic" | ||
10 | disposableProviderFactory="true" ecorePackage="ecore2logicannotations.ecore#/"> | ||
11 | <genClasses ecoreClass="ecore2logicannotations.ecore#//MultiplicityAssertion"/> | ||
12 | <genClasses ecoreClass="ecore2logicannotations.ecore#//InverseRelationAssertion"> | ||
13 | <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference ecore2logicannotations.ecore#//InverseRelationAssertion/inverses"/> | ||
14 | </genClasses> | ||
15 | <genClasses ecoreClass="ecore2logicannotations.ecore#//LowerMultiplicityAssertion"> | ||
16 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecore2logicannotations.ecore#//LowerMultiplicityAssertion/lower"/> | ||
17 | </genClasses> | ||
18 | <genClasses ecoreClass="ecore2logicannotations.ecore#//UpperMultiplicityAssertion"> | ||
19 | <genFeatures createChild="false" ecoreFeature="ecore:EAttribute ecore2logicannotations.ecore#//UpperMultiplicityAssertion/upper"/> | ||
20 | </genClasses> | ||
21 | </genPackages> | ||
22 | </genmodel:GenModel> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties new file mode 100644 index 00000000..dba79bb4 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.properties | |||
@@ -0,0 +1,4 @@ | |||
1 | # | ||
2 | |||
3 | pluginName = Ecore2logicannotations Model | ||
4 | providerName = www.example.org | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml new file mode 100644 index 00000000..cd13faaa --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/plugin.xml | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <?eclipse version="3.0"?> | ||
3 | |||
4 | <!-- | ||
5 | --> | ||
6 | |||
7 | <plugin> | ||
8 | |||
9 | <extension point="org.eclipse.emf.ecore.generated_package"> | ||
10 | <!-- @generated ecore2logicannotations --> | ||
11 | <package | ||
12 | uri="http://www.bme.hu/mit/inf/dslreasoner/logic/model/language/ecore2logicannotation" | ||
13 | class="hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsPackage" | ||
14 | genModel="model/ecore2logicannotations.genmodel"/> | ||
15 | </extension> | ||
16 | |||
17 | </plugin> | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend new file mode 100644 index 00000000..ebf49196 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/AttributeMapper.xtend | |||
@@ -0,0 +1,119 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TypeDescriptor | ||
10 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
11 | import java.util.HashMap | ||
12 | import java.util.Map | ||
13 | import org.eclipse.emf.ecore.EAttribute | ||
14 | import org.eclipse.emf.ecore.EEnum | ||
15 | |||
16 | interface EAttributeMapper { | ||
17 | def void transformEAttributes(Ecore2Logic_Trace trace, LogicProblem logicProblem, Iterable<EAttribute> attributes) | ||
18 | def Term IsAttributeValue(Ecore2Logic_Trace trace, TermDescription object, TermDescription value, EAttribute attribute) | ||
19 | def RelationDeclaration relationOfAttribute(Ecore2Logic_Trace trace, EAttribute attribute) | ||
20 | def TypeDescriptor TypeOfRange(Ecore2Logic_Trace trace, EAttribute attribute) | ||
21 | } | ||
22 | |||
23 | class EAttributeMapper_RelationsOverTypes_Trace implements Trace<EAttributeMapper_RelationsOverTypes>{ | ||
24 | public var Map<EAttribute, RelationDeclaration> indicators = new HashMap | ||
25 | public var Map<EAttribute, Assertion> typeCompliance = new HashMap | ||
26 | public var Map<EAttribute, Assertion> lowerMultiplicity = new HashMap | ||
27 | public var Map<EAttribute, Assertion> upperMultiplicity = new HashMap | ||
28 | } | ||
29 | |||
30 | class EAttributeMapper_RelationsOverTypes implements EAttributeMapper { | ||
31 | protected val extension LogicProblemBuilder builder = new LogicProblemBuilder | ||
32 | val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE | ||
33 | protected val extension EClassMapper classMapper | ||
34 | protected val extension EEnumMapper enumMapper; | ||
35 | |||
36 | public new(EClassMapper classMapper, EEnumMapper enumMapper) { | ||
37 | this.enumMapper = enumMapper | ||
38 | this.classMapper = classMapper | ||
39 | } | ||
40 | |||
41 | public override transformEAttributes(Ecore2Logic_Trace trace, LogicProblem logicProblem, Iterable<EAttribute> attributes) { | ||
42 | val attributeMapperTrace = new EAttributeMapper_RelationsOverTypes_Trace | ||
43 | trace.attributeMapperTrace = attributeMapperTrace | ||
44 | |||
45 | for(attribute : attributes) { | ||
46 | val sourceType = trace.TypeofEClass(attribute.EContainingClass) | ||
47 | val rangeType = trace.TypeOfRange(attribute) | ||
48 | |||
49 | // relations | ||
50 | val indicator = '''inAttribute «attribute.name» «attribute.EContainingClass.name»'''.RelationDeclaration(sourceType,rangeType) | ||
51 | |||
52 | logicProblem.add(indicator) | ||
53 | attributeMapperTrace.indicators.put(attribute,indicator) | ||
54 | |||
55 | // lower multiplicity | ||
56 | var Assertion lowerMultiplicity = null | ||
57 | if(attribute.lowerBound != 0) { | ||
58 | lowerMultiplicity = '''lowerMultiplicity «attribute.name» «attribute.EContainingClass.name»'''.Assertion( | ||
59 | Forall[ | ||
60 | val source = addVar('''src''', sourceType) | ||
61 | Exists[ context | | ||
62 | val targets = (1 .. attribute.lowerBound).map[context.addVar('''trg «it»''', rangeType)].toList | ||
63 | val attributeValue = And(targets.map[IsAttributeValue(trace, source, it, attribute)]) | ||
64 | if(targets.size > 1) return Distinct(targets) && attributeValue | ||
65 | else return attributeValue | ||
66 | ] | ||
67 | ] | ||
68 | ) | ||
69 | val annotation = createLowerMultiplicityAssertion => [ | ||
70 | it.lower = attribute.lowerBound | ||
71 | it.relation = indicator | ||
72 | ] | ||
73 | logicProblem.add(lowerMultiplicity) | ||
74 | logicProblem.annotations += annotation | ||
75 | lowerMultiplicity.annotations +=annotation | ||
76 | } | ||
77 | attributeMapperTrace.lowerMultiplicity.put(attribute,lowerMultiplicity) | ||
78 | |||
79 | var Assertion upperMultiplicity = null | ||
80 | if(attribute.upperBound > 0) { | ||
81 | upperMultiplicity = '''upperMultiplicity «attribute.name» «attribute.EContainingClass.name»'''.Assertion( | ||
82 | Forall[ context | | ||
83 | val source = context.addVar('''src''', sourceType) | ||
84 | val targets = (1 .. attribute.upperBound+1).map[context.addVar('''trg «it»''', rangeType)].toList | ||
85 | And(targets.map[IsAttributeValue(trace, source, it, attribute)]) => ! Distinct(targets) | ||
86 | ]) | ||
87 | |||
88 | val annotation = createUpperMultiplicityAssertion => [ | ||
89 | it.upper = attribute.upperBound | ||
90 | it.relation = indicator | ||
91 | ] | ||
92 | |||
93 | logicProblem.add(upperMultiplicity) | ||
94 | logicProblem.annotations += annotation | ||
95 | upperMultiplicity.annotations += annotation | ||
96 | } | ||
97 | attributeMapperTrace.upperMultiplicity.put(attribute,upperMultiplicity) | ||
98 | } | ||
99 | } | ||
100 | |||
101 | def asTrace(Trace<? extends EAttributeMapper> trace) { return trace as EAttributeMapper_RelationsOverTypes_Trace} | ||
102 | |||
103 | override IsAttributeValue(Ecore2Logic_Trace trace, TermDescription object, TermDescription value, EAttribute attribute) { | ||
104 | trace.attributeMapperTrace.asTrace.indicators.get(attribute).call(object,value) | ||
105 | } | ||
106 | |||
107 | override TypeDescriptor TypeOfRange(Ecore2Logic_Trace trace, EAttribute attribute) { | ||
108 | if(attribute.EType instanceof EEnum) return enumMapper.TypeofEEnum(trace,attribute.EType as EEnum) | ||
109 | else if(attribute.EType.name.equals("EInt")) return LogicInt | ||
110 | else if(attribute.EType.name.equals("EBoolean")) return LogicBool | ||
111 | else if(attribute.EType.name.equals("EDouble") || | ||
112 | attribute.EType.name.equals("EFloat")) return LogicReal | ||
113 | else throw new UnsupportedOperationException('''Unsupported attribute type: «attribute.EType.name»''') | ||
114 | } | ||
115 | |||
116 | override relationOfAttribute(Ecore2Logic_Trace trace, EAttribute attribute) { | ||
117 | trace.attributeMapperTrace.asTrace.indicators.get(attribute) | ||
118 | } | ||
119 | } \ No newline at end of file | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend new file mode 100644 index 00000000..492be59f --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/ContainmentMapper.xtend | |||
@@ -0,0 +1,133 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Constant | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Relation | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
7 | import org.eclipse.emf.ecore.EReference | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion | ||
9 | |||
10 | interface ContainmentMapper { | ||
11 | def void transformContainment(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references, boolean singleRoot); | ||
12 | } | ||
13 | |||
14 | class ContainmentMapper_ReferenceConjuction_Trace implements Trace<ContainmentMapper_ReferenceConjuction> { | ||
15 | public var Constant root; | ||
16 | public var Relation contains | ||
17 | public var Assertion containsDefinition; | ||
18 | public var Assertion rootIsNotContained; | ||
19 | public var Assertion everithingElseContained; | ||
20 | public var Assertion notContainedByMore; | ||
21 | } | ||
22 | |||
23 | class ContainmentMapper_ReferenceConjuction implements ContainmentMapper{ | ||
24 | val extension LogicProblemBuilder builder = new LogicProblemBuilder | ||
25 | val extension EClassMapper classMapper; | ||
26 | val extension EReferenceMapper referenceMapper | ||
27 | val int containmentAcyclicityApproximationLevel; | ||
28 | |||
29 | public new(EClassMapper classMapper, EReferenceMapper referenceMapper, int containmentAcyclicityApproximationLevel) { | ||
30 | this.classMapper = classMapper | ||
31 | this.referenceMapper = referenceMapper | ||
32 | this.containmentAcyclicityApproximationLevel = containmentAcyclicityApproximationLevel | ||
33 | } | ||
34 | |||
35 | override transformContainment(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references, boolean singleRoot) { | ||
36 | val allClasses = classMapper.allClassesInScope(trace).map[classMapper.TypeofEClass(trace,it)] | ||
37 | val containmentRelation = references.filter[isContainment].map[referenceMapper.relationOfReference(trace,it)] | ||
38 | val containmentHierarchy = ContainmentHierarchy(allClasses,#[],containmentRelation,null) | ||
39 | problem.add(containmentHierarchy) | ||
40 | } | ||
41 | } | ||
42 | |||
43 | /*val containmentMapperTrace = new ContainmentMapper_ReferenceConjuction_Trace | ||
44 | trace.containmentMapperTrace = containmentMapperTrace | ||
45 | |||
46 | val containment = references.filter[containment] | ||
47 | |||
48 | val contains = problem.add(RelationDeclaration('''contains''', getType(trace,references),getType(trace,references))) | ||
49 | containmentMapperTrace.contains = contains | ||
50 | containmentMapperTrace.containsDefinition = problem.add(Assertion('''containsDefinition''', | ||
51 | Forall[ | ||
52 | val parent = addVar("parent",getType(trace,references)) | ||
53 | val child = addVar("child",getType(trace,references)) | ||
54 | contains.call(parent,child) <=> Or(containment.map[IsInReference(trace,parent,child,it)]) | ||
55 | ] | ||
56 | )) | ||
57 | |||
58 | |||
59 | |||
60 | containmentMapperTrace.notContainedByMore = problem.add(Assertion('''notContainedByMore''', | ||
61 | Forall[ | ||
62 | val child = addVar('''child''',getType(trace,references)) | ||
63 | val parent1 = addVar('''parent 1''',getType(trace,references)) | ||
64 | val parent2 = addVar('''parent 2''',getType(trace,references)) | ||
65 | (contains.call(parent1,child) && contains.call(parent2,child)) => (parent1 == parent2) | ||
66 | ] | ||
67 | )) | ||
68 | |||
69 | (2..containmentAcyclicityApproximationLevel).forEach[problem.add(getAcyclicityConstraint(trace,references,it))] | ||
70 | |||
71 | if (singleRoot) { | ||
72 | val root = problem.add(ConstantDeclaration('''root''', getType(trace, references))) | ||
73 | containmentMapperTrace.root = root | ||
74 | |||
75 | containmentMapperTrace.rootIsNotContained = problem.add( | ||
76 | Assertion( | ||
77 | '''rootIsNotContained''', | ||
78 | Forall[ | ||
79 | val parent = addVar("parent", getType(trace, references)) | ||
80 | !contains.call(parent, root) | ||
81 | ] | ||
82 | )) | ||
83 | |||
84 | containmentMapperTrace.everithingElseContained = problem.add( | ||
85 | Assertion( | ||
86 | '''nonrootIsContained''', | ||
87 | Forall[ | ||
88 | val child = addVar("child", getType(trace, references)) | ||
89 | (child != root) => Exists[ | ||
90 | val parent = addVar("parent", getType(trace, references)) | ||
91 | contains.call(parent, child) | ||
92 | ] | ||
93 | ] | ||
94 | )) | ||
95 | }*/ | ||
96 | |||
97 | |||
98 | // def asTrace(Trace<? extends ContainmentMapper> trace) { trace as ContainmentMapper_ReferenceConjuction_Trace } | ||
99 | // | ||
100 | // def getAcyclicityConstraint(Ecore2Logic_Trace trace, Iterable<EReference> references,int circleSize) { | ||
101 | // val newTrace = trace.containmentMapperTrace.asTrace | ||
102 | // //val newTrace2 = trace.containmentMapperTrace as ContainmentMapper_ReferenceConjuction_Trace // ??? | ||
103 | // | ||
104 | // Forall[context | | ||
105 | // val elements = (0..circleSize).map[context.addVar(getType(trace,references))].toList | ||
106 | // !(And((0..circleSize-1).map[newTrace.contains.call(elements.get(it),elements.get(it+1))]) && | ||
107 | // newTrace.contains.call(elements.last,elements.head)) | ||
108 | // ] | ||
109 | // } | ||
110 | // | ||
111 | // def private getType(Ecore2Logic_Trace trace, Iterable<EReference> references) { | ||
112 | // trace.TypeofEClass(references.head.EContainingClass) | ||
113 | // } | ||
114 | |||
115 | /*// This type is contained -> (From this type -> By those references) | ||
116 | val Map<TypeDescriptor,Map<TypeDescriptor,Set<EReference>>> typeContainedBy = new HashMap | ||
117 | for(reference: references.filter[containment]) { | ||
118 | val sourceType = TypeofEClass(classMapperTrace, reference.EContainingClass) | ||
119 | val targetType = TypeofEClass(classMapperTrace, reference.EType as EClass) | ||
120 | if(typeContainedBy.containsKey(targetType)) { | ||
121 | val m = typeContainedBy.get(targetType) | ||
122 | if(m.containsKey(sourceType)) { | ||
123 | m.get(sourceType).add(reference) | ||
124 | } else { | ||
125 | m.put(sourceType,new HashSet => [add(reference)]) | ||
126 | } | ||
127 | } else { // initialise the collection | ||
128 | val Map<TypeDescriptor,Set<EReference>> m = new HashMap | ||
129 | m.put(sourceType,new HashSet => [add(reference)]) | ||
130 | typeContainedBy.put(targetType,m) | ||
131 | } | ||
132 | }*/ | ||
133 | // Only one type \ No newline at end of file | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend new file mode 100644 index 00000000..3949749b --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EClassMapper.xtend | |||
@@ -0,0 +1,53 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
6 | import java.util.Map | ||
7 | import org.eclipse.emf.ecore.EClass | ||
8 | import java.util.HashMap | ||
9 | |||
10 | interface EClassMapper { | ||
11 | def void transformEClasses(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EClass> classes, int numberOfObjects, EcoreMetamodelDescriptor metamodelDescriptor) | ||
12 | def Iterable<EClass> allClassesInScope(Ecore2Logic_Trace trace) | ||
13 | def Type TypeofEClass(Ecore2Logic_Trace trace, EClass type) | ||
14 | } | ||
15 | |||
16 | class EClassMapper_AllElementAsObject_Trace implements Trace<EClassMapper_AllElementAsObject>{ | ||
17 | public var Map<EClass, Type> typeMap = new HashMap; | ||
18 | } | ||
19 | |||
20 | class EClassMapper_AllElementAsObject implements EClassMapper{ | ||
21 | val extension LogicProblemBuilder builder = new LogicProblemBuilder | ||
22 | |||
23 | override transformEClasses(Ecore2Logic_Trace trace, LogicProblem problem, | ||
24 | Iterable<EClass> classes, int numberOfObjects, EcoreMetamodelDescriptor metamodelDescriptor | ||
25 | ) { | ||
26 | val classMapperTrace = new EClassMapper_AllElementAsObject_Trace | ||
27 | trace.classMapperTrace = classMapperTrace | ||
28 | for(c:classes) { | ||
29 | val logicType = problem.add(TypeDeclaration('''class «c.name»''',c.isAbstract || c.isInterface)) | ||
30 | classMapperTrace.typeMap.put(c,logicType) | ||
31 | } | ||
32 | for(c:classes) { | ||
33 | for(s : c.ESuperTypes) { | ||
34 | Supertype(classMapperTrace.typeMap.get(c),classMapperTrace.typeMap.get(s)) | ||
35 | } | ||
36 | } | ||
37 | } | ||
38 | |||
39 | def asTrace(Trace<? extends EClassMapper> o) { o as EClassMapper_AllElementAsObject_Trace } | ||
40 | |||
41 | override TypeofEClass(Ecore2Logic_Trace trace, EClass type) { | ||
42 | val typeMap = trace.classMapperTrace.asTrace.typeMap | ||
43 | if(typeMap.containsKey(type)) { | ||
44 | typeMap.get(type) | ||
45 | } else { | ||
46 | throw new IllegalArgumentException('''Class «type.name» is not translated to logic!''') | ||
47 | } | ||
48 | } | ||
49 | |||
50 | override allClassesInScope(Ecore2Logic_Trace trace) { | ||
51 | trace.classMapperTrace.asTrace.typeMap.keySet | ||
52 | } | ||
53 | } | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend new file mode 100644 index 00000000..eb7e9e44 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EEnumMapper.xtend | |||
@@ -0,0 +1,60 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.DefinedElement | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Type | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
8 | import java.util.ArrayList | ||
9 | import java.util.HashMap | ||
10 | import java.util.Map | ||
11 | import org.eclipse.emf.common.util.Enumerator | ||
12 | import org.eclipse.emf.ecore.EEnum | ||
13 | |||
14 | import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* | ||
15 | |||
16 | interface EEnumMapper { | ||
17 | def void transformEEnums(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EEnum> enums,Ecore2LogicConfiguration config) | ||
18 | def Type TypeofEEnum(Ecore2Logic_Trace trace, EEnum type) | ||
19 | def TermDescription Literal(Ecore2Logic_Trace trace, Enumerator literal) | ||
20 | } | ||
21 | |||
22 | class EEnumMapper_PredefinedClasses_Trace implements Trace<EEnumMapper_PredefinedClasses>{ | ||
23 | public var Map<EEnum, Type> enums | ||
24 | |||
25 | public var Map<Enumerator,DefinedElement> literals | ||
26 | } | ||
27 | |||
28 | class EEnumMapper_PredefinedClasses implements EEnumMapper { | ||
29 | val extension LogicProblemBuilder builder = new LogicProblemBuilder | ||
30 | |||
31 | override transformEEnums(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EEnum> enums, Ecore2LogicConfiguration config) { | ||
32 | val enumTrace = new EEnumMapper_PredefinedClasses_Trace | ||
33 | trace.enumMapperTrace = enumTrace | ||
34 | enumTrace.enums = new HashMap | ||
35 | enumTrace.literals = new HashMap | ||
36 | |||
37 | for(enum : enums) { | ||
38 | val l = new ArrayList<DefinedElement>(enum.ELiterals.size) | ||
39 | for(literal : enum.ELiterals.map[instance]) { | ||
40 | val element = Element('''«literal.name» «enum.name»''') | ||
41 | l+=element | ||
42 | enumTrace.literals.put(literal,element) | ||
43 | } | ||
44 | val type = TypeDefinition('''enum «enum.name»''',false,l) | ||
45 | problem.add(type) | ||
46 | enumTrace.enums.put(enum,type) | ||
47 | } | ||
48 | |||
49 | } | ||
50 | |||
51 | private def asTrace(Trace<? extends EEnumMapper> o) { o as EEnumMapper_PredefinedClasses_Trace } | ||
52 | |||
53 | override TypeofEEnum(Ecore2Logic_Trace trace, EEnum type) { | ||
54 | trace.enumMapperTrace.asTrace.enums.get(type) | ||
55 | } | ||
56 | |||
57 | override Literal(Ecore2Logic_Trace trace, Enumerator literal) { | ||
58 | literal.lookup(trace.enumMapperTrace.asTrace.literals) | ||
59 | } | ||
60 | } \ No newline at end of file | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend new file mode 100644 index 00000000..e5de6584 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/EReferenceMapper.xtend | |||
@@ -0,0 +1,154 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.ecore2logic.ecore2logicannotations.Ecore2logicannotationsFactory | ||
4 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
5 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Assertion | ||
6 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.RelationDeclaration | ||
7 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.Term | ||
8 | import hu.bme.mit.inf.dslreasoner.logic.model.logiclanguage.TermDescription | ||
9 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
10 | import java.util.HashMap | ||
11 | import java.util.Map | ||
12 | import org.eclipse.emf.ecore.EClass | ||
13 | import org.eclipse.emf.ecore.EReference | ||
14 | |||
15 | interface EReferenceMapper{ | ||
16 | def void transformEReferences(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> classes); | ||
17 | def Term IsInReference(Ecore2Logic_Trace trace, TermDescription source, TermDescription target, EReference type) | ||
18 | def RelationDeclaration relationOfReference(Ecore2Logic_Trace trace, EReference reference) | ||
19 | } | ||
20 | |||
21 | class EReferenceMapper_RelationsOverTypes_Trace implements Trace<EReferenceMapper_RelationsOverTypes> { | ||
22 | public var Map<EReference, RelationDeclaration> indicators; | ||
23 | public var Map<EReference, Assertion> typeCompliance | ||
24 | public var Map<EReference, Assertion> lowerMultiplicity | ||
25 | public var Map<EReference, Assertion> upperMultiplicity | ||
26 | public var Map<EReference, Assertion> inverseEdges | ||
27 | } | ||
28 | |||
29 | class EReferenceMapper_RelationsOverTypes implements EReferenceMapper{ | ||
30 | val extension LogicProblemBuilder builder = new LogicProblemBuilder | ||
31 | val extension Ecore2logicannotationsFactory builder2 = Ecore2logicannotationsFactory.eINSTANCE | ||
32 | val extension EClassMapper classMapper; | ||
33 | |||
34 | public new(EClassMapper classMapper) { | ||
35 | this.classMapper = classMapper | ||
36 | } | ||
37 | |||
38 | def asTrace(Trace<? extends EReferenceMapper> o) { o as EReferenceMapper_RelationsOverTypes_Trace } | ||
39 | |||
40 | override transformEReferences(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { | ||
41 | val newTrace = new EReferenceMapper_RelationsOverTypes_Trace | ||
42 | trace.referenceMapperTrace = newTrace | ||
43 | trace.createIndicatorDeclarations(problem,references) | ||
44 | trace.createMultiplicityConstraints(problem,references) | ||
45 | trace.createInverseReferenceConstraints(problem,references) | ||
46 | } | ||
47 | |||
48 | def protected void createIndicatorDeclarations(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { | ||
49 | trace.referenceMapperTrace.asTrace.indicators = new HashMap | ||
50 | for(reference : references) { | ||
51 | val relation = problem.add(RelationDeclaration( | ||
52 | '''inreference «reference.name» «reference.EContainingClass.name»''', | ||
53 | TypeofEClass(trace,reference.EContainingClass), | ||
54 | TypeofEClass(trace,reference.EType as EClass))) | ||
55 | trace.referenceMapperTrace.asTrace.indicators.put(reference,relation as RelationDeclaration) | ||
56 | } | ||
57 | } | ||
58 | |||
59 | def void createMultiplicityConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { | ||
60 | trace.referenceMapperTrace.asTrace.lowerMultiplicity = new HashMap | ||
61 | trace.referenceMapperTrace.asTrace.upperMultiplicity = new HashMap | ||
62 | |||
63 | for(reference : references) { | ||
64 | val sourceType = reference.EContainingClass | ||
65 | val targetType = reference.EType as EClass | ||
66 | val lower = reference.lowerBound | ||
67 | val upper = reference.upperBound | ||
68 | |||
69 | if (lower > 0) { | ||
70 | val assertion = Assertion('''lowerMultiplicity «reference.name» «sourceType.name»''', | ||
71 | Forall[ | ||
72 | val source = addVar('''src''', trace.TypeofEClass(sourceType)) | ||
73 | Exists[ context | | ||
74 | val targets = (1 .. lower).map[ | ||
75 | context.addVar('''trg «it»''', trace.TypeofEClass(targetType))].toList | ||
76 | val inReference = And(targets.map[IsInReference(trace, source, it, reference)]) | ||
77 | if(targets.size > 1) return Distinct(targets) && inReference | ||
78 | else return inReference | ||
79 | ] | ||
80 | ] | ||
81 | ) | ||
82 | val annotation = createLowerMultiplicityAssertion => [ | ||
83 | it.lower = lower | ||
84 | it.relation = trace.referenceMapperTrace.asTrace.indicators.get(reference) | ||
85 | ] | ||
86 | |||
87 | problem.add(assertion) | ||
88 | problem.annotations += annotation | ||
89 | assertion.annotations +=annotation | ||
90 | trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,assertion) | ||
91 | } | ||
92 | else trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,null) | ||
93 | |||
94 | if(upper != -1) { | ||
95 | val assertion = Assertion('''upperMultiplicity «reference.name» «sourceType.name»''', | ||
96 | Forall[ context | | ||
97 | val source = context.addVar('''src''', trace.TypeofEClass(sourceType)) | ||
98 | val targets = (1 .. upper+1).map[ | ||
99 | context.addVar('''trg «it»''', trace.TypeofEClass(targetType))].toList | ||
100 | And(targets.map[IsInReference(trace, source, it, reference)]) => ! Distinct(targets) | ||
101 | ]) | ||
102 | val annotation = createUpperMultiplicityAssertion => [ | ||
103 | it.upper = upper | ||
104 | it.relation = trace.referenceMapperTrace.asTrace.indicators.get(reference) | ||
105 | ] | ||
106 | |||
107 | problem.add(assertion) | ||
108 | problem.annotations += annotation | ||
109 | assertion.annotations += annotation | ||
110 | trace.referenceMapperTrace.asTrace.lowerMultiplicity.put(reference,assertion) | ||
111 | } | ||
112 | else trace.referenceMapperTrace.asTrace.upperMultiplicity.put(reference,null) | ||
113 | } | ||
114 | } | ||
115 | |||
116 | def createInverseReferenceConstraints(Ecore2Logic_Trace trace, LogicProblem problem, Iterable<EReference> references) { | ||
117 | trace.referenceMapperTrace.asTrace.inverseEdges = new HashMap | ||
118 | for(reference : references) { | ||
119 | if(reference.EOpposite!=null) { | ||
120 | val opposite = reference.EOpposite | ||
121 | if(trace.referenceMapperTrace.asTrace.inverseEdges.containsKey(opposite)) { | ||
122 | trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,trace.referenceMapperTrace.asTrace.inverseEdges.get(opposite)) | ||
123 | } else { | ||
124 | val sourceType = reference.EContainingClass | ||
125 | val targetType = reference.EType as EClass | ||
126 | val assertion = Assertion('''oppositeReference «reference.name» «sourceType.name»''', | ||
127 | Forall[ | ||
128 | val src = addVar('''src''', trace.TypeofEClass(sourceType)) | ||
129 | val trg = addVar('''trg''', trace.TypeofEClass(targetType)) | ||
130 | IsInReference(trace,src,trg,reference) <=> IsInReference(trace,trg,src,opposite) | ||
131 | ] | ||
132 | ) | ||
133 | problem.add(assertion) | ||
134 | trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,assertion) | ||
135 | val annotation = createInverseRelationAssertion => [ | ||
136 | it.target = assertion | ||
137 | it.inverseA = trace.referenceMapperTrace.asTrace.indicators.get(reference) | ||
138 | it.inverseB = trace.referenceMapperTrace.asTrace.indicators.get(reference.EOpposite) | ||
139 | ] | ||
140 | problem.annotations += annotation | ||
141 | } | ||
142 | } | ||
143 | else trace.referenceMapperTrace.asTrace.inverseEdges.put(reference,null) | ||
144 | } | ||
145 | } | ||
146 | |||
147 | override IsInReference(Ecore2Logic_Trace trace, TermDescription source, TermDescription target, EReference type) { | ||
148 | trace.referenceMapperTrace.asTrace.indicators.get(type).call(source,target) | ||
149 | } | ||
150 | |||
151 | override relationOfReference(Ecore2Logic_Trace trace, EReference reference) { | ||
152 | trace.referenceMapperTrace.asTrace.indicators.get(reference) | ||
153 | } | ||
154 | } \ No newline at end of file | ||
diff --git a/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend new file mode 100644 index 00000000..cae489e3 --- /dev/null +++ b/Framework/hu.bme.mit.inf.dslreasoner.ecore2logic/src/hu/bme/mit/inf/dslreasoner/ecore2logic/Ecore2Logic.xtend | |||
@@ -0,0 +1,98 @@ | |||
1 | package hu.bme.mit.inf.dslreasoner.ecore2logic | ||
2 | |||
3 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.LogicProblem | ||
4 | import java.util.List | ||
5 | import org.eclipse.emf.ecore.EAttribute | ||
6 | import org.eclipse.emf.ecore.EClass | ||
7 | import org.eclipse.emf.ecore.EEnum | ||
8 | import org.eclipse.emf.ecore.EEnumLiteral | ||
9 | import org.eclipse.emf.ecore.EReference | ||
10 | import org.eclipse.xtend.lib.annotations.Data | ||
11 | import org.eclipse.xtend.lib.annotations.Delegate | ||
12 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.TracedOutput | ||
13 | import hu.bme.mit.inf.dslreasoner.logic.model.builder.LogicProblemBuilder | ||
14 | import java.util.Set | ||
15 | import hu.bme.mit.inf.dslreasoner.logic.model.logicproblem.ContainmentHierarchy | ||
16 | |||
17 | @Data class EcoreMetamodelDescriptor { | ||
18 | val List<EClass> classes; | ||
19 | val Set<EClass> concretised; | ||
20 | val boolean isEObjectConcretised; | ||
21 | val List<EEnum> enums; | ||
22 | val List<EEnumLiteral> literals; | ||
23 | val List<EReference> references; | ||
24 | val List<EAttribute> attributes; | ||
25 | |||
26 | def isConcretised(EClass clazz) {concretised.contains(clazz)} | ||
27 | } | ||
28 | |||
29 | interface Trace<Mapper> {} | ||
30 | |||
31 | class Ecore2Logic_Trace implements Trace<Ecore2Logic> { | ||
32 | public var ContainmentHierarchy containmentHierarchy; | ||
33 | public var Trace<? extends EClassMapper> classMapperTrace | ||
34 | public var Trace<? extends EEnumMapper> enumMapperTrace | ||
35 | public var Trace<? extends EReferenceMapper> referenceMapperTrace | ||
36 | public var Trace<? extends ContainmentMapper> containmentMapperTrace | ||
37 | public var Trace<? extends EAttributeMapper> attributeMapperTrace | ||
38 | } | ||
39 | |||
40 | class Ecore2LogicConfiguration { | ||
41 | var public boolean singleRoot = true | ||
42 | var public int numberOfObjects = -1 | ||
43 | public static val Undefined = -1 | ||
44 | } | ||
45 | |||
46 | class Ecore2LogicScope { | ||
47 | public static val int Unlimited = -1 | ||
48 | public var numberOfObjects = Unlimited | ||
49 | } | ||
50 | |||
51 | class Ecore2Logic implements EClassMapper, EEnumMapper, EReferenceMapper, ContainmentMapper, EAttributeMapper { | ||
52 | @Delegate protected val EClassMapper classMapper | ||
53 | @Delegate protected val EEnumMapper enumMapper | ||
54 | @Delegate protected val EReferenceMapper referenceMapper | ||
55 | @Delegate protected val ContainmentMapper containmentMapper | ||
56 | @Delegate protected val EAttributeMapper attributeMapper | ||
57 | |||
58 | public new() { | ||
59 | this.classMapper = new EClassMapper_AllElementAsObject | ||
60 | this.enumMapper = new EEnumMapper_PredefinedClasses | ||
61 | this.referenceMapper = new EReferenceMapper_RelationsOverTypes(this.classMapper) | ||
62 | this.containmentMapper = new ContainmentMapper_ReferenceConjuction(this.classMapper, this.referenceMapper,0) | ||
63 | this.attributeMapper = new EAttributeMapper_RelationsOverTypes(this.classMapper, this.enumMapper) | ||
64 | } | ||
65 | |||
66 | public new( | ||
67 | EClassMapper classMapper, | ||
68 | EEnumMapper enumMapper, | ||
69 | EReferenceMapper referenceMapper, | ||
70 | ContainmentMapper containmentMapper, | ||
71 | EAttributeMapper attributeMapper) | ||
72 | { | ||
73 | if(classMapper === null || enumMapper === null || referenceMapper === null || containmentMapper === null || | ||
74 | attributeMapper === null) { | ||
75 | throw new IllegalArgumentException('''The mappers should not be null!''') | ||
76 | } | ||
77 | |||
78 | this.classMapper = classMapper | ||
79 | this.enumMapper = enumMapper | ||
80 | this.referenceMapper = referenceMapper | ||
81 | this.containmentMapper = containmentMapper | ||
82 | this.attributeMapper = attributeMapper | ||
83 | } | ||
84 | |||
85 | def public TracedOutput<LogicProblem,Ecore2Logic_Trace> transformMetamodel(EcoreMetamodelDescriptor metamodel, Ecore2LogicConfiguration config) { | ||
86 | |||
87 | |||
88 | val Ecore2Logic_Trace trace = new Ecore2Logic_Trace | ||
89 | val LogicProblem problem = (new LogicProblemBuilder).createProblem | ||
90 | transformEClasses(trace,problem,metamodel.classes,config.numberOfObjects,metamodel) | ||
91 | transformEEnums(trace,problem,metamodel.enums,config) | ||
92 | transformEReferences(trace,problem,metamodel.references) | ||
93 | transformContainment(trace,problem,metamodel.references, config.singleRoot) | ||
94 | transformEAttributes(trace,problem,metamodel.attributes) | ||
95 | |||
96 | return new TracedOutput(problem,trace) | ||
97 | } | ||
98 | } | ||