aboutsummaryrefslogtreecommitdiffstats
path: root/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite
diff options
context:
space:
mode:
Diffstat (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite')
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath14
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore5
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project40
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF30
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/build.properties11
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig25
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java230
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java93
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java38
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java61
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/GroundStationNetwork.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java17
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryPayload.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Payload.java18
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java114
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java1190
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SmallSat.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java44
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java230
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java230
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java16
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java287
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java152
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/ConstellationMissionImpl.java237
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/GroundStationNetworkImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryMissionImpl.java36
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryPayloadImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/PayloadImpl.java39
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java202
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java603
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SmallSatImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java184
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java37
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java385
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java454
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi7
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird796
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore36
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel41
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.properties4
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml30
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql390
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend18
53 files changed, 6768 insertions, 0 deletions
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath
new file mode 100644
index 00000000..6781ea8f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<classpath>
3 <classpathentry kind="src" path="ecore-gen"/>
4 <classpathentry kind="src" path="src"/>
5 <classpathentry kind="src" path="xtend-gen"/>
6 <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
7 <attributes>
8 <attribute name="module" value="true"/>
9 </attributes>
10 </classpathentry>
11 <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
12 <classpathentry kind="src" path="src-gen"/>
13 <classpathentry kind="output" path="bin"/>
14</classpath>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore
new file mode 100644
index 00000000..7c70320a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore
@@ -0,0 +1,5 @@
1/bin/
2/mdeo-results/
3/outputs/
4/src-gen/
5/xtend-gen/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project
new file mode 100644
index 00000000..16db5fc5
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project
@@ -0,0 +1,40 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<projectDescription>
3 <name>hu.bme.mit.inf.dslreasoner.domains.satellite</name>
4 <comment></comment>
5 <projects>
6 </projects>
7 <buildSpec>
8 <buildCommand>
9 <name>org.eclipse.viatra.query.tooling.ui.projectbuilder</name>
10 <arguments>
11 </arguments>
12 </buildCommand>
13 <buildCommand>
14 <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
15 <arguments>
16 </arguments>
17 </buildCommand>
18 <buildCommand>
19 <name>org.eclipse.jdt.core.javabuilder</name>
20 <arguments>
21 </arguments>
22 </buildCommand>
23 <buildCommand>
24 <name>org.eclipse.pde.ManifestBuilder</name>
25 <arguments>
26 </arguments>
27 </buildCommand>
28 <buildCommand>
29 <name>org.eclipse.pde.SchemaBuilder</name>
30 <arguments>
31 </arguments>
32 </buildCommand>
33 </buildSpec>
34 <natures>
35 <nature>org.eclipse.jdt.core.javanature</nature>
36 <nature>org.eclipse.pde.PluginNature</nature>
37 <nature>org.eclipse.viatra.query.projectnature</nature>
38 <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
39 </natures>
40</projectDescription>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..966fc660
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF
@@ -0,0 +1,30 @@
1Manifest-Version: 1.0
2Bundle-ManifestVersion: 2
3Bundle-Name: %pluginName
4Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.domains.satellite;singleton:=true
5Bundle-Version: 0.1.0.qualifier
6Bundle-ClassPath: .
7Bundle-Vendor: %providerName
8Bundle-Localization: plugin
9Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite.queries,
10 hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal,
11 satellite,
12 satellite.impl,
13 satellite.util
14Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime,
15 org.eclipse.viatra.query.runtime,
16 org.eclipse.viatra.query.runtime.rete,
17 org.eclipse.viatra.query.runtime.localsearch,
18 org.eclipse.xtext.xbase.lib,
19 org.eclipse.emf.ecore;visibility:=reexport,
20 org.eclipse.core.runtime,
21 hu.bme.mit.inf.dslreasoner.application,
22 org.eclipse.viatra.dse,
23 org.eclipse.viatra.dse.genetic,
24 hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0",
25 org.eclipse.emf.ecore.xmi;bundle-version="2.15.0",
26 org.eclipse.viatra.query.runtime.rete;bundle-version="2.0.0"
27Import-Package: org.apache.log4j
28Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite
29Bundle-ActivationPolicy: lazy
30Bundle-RequiredExecutionEnvironment: JavaSE-1.8
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/build.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/build.properties
new file mode 100644
index 00000000..368af38e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/build.properties
@@ -0,0 +1,11 @@
1bin.includes = .,\
2 model/,\
3 META-INF/,\
4 plugin.xml,\
5 plugin.properties
6jars.compile.order = .
7source.. = ecore-gen/,\
8 src-gen/,\
9 src/,\
10 xtend-gen/
11output.. = bin/
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
new file mode 100644
index 00000000..b95c6b68
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig
@@ -0,0 +1,25 @@
1import epackage "model/satellite.ecore"
2import viatra "src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql"
3
4generate {
5 metamodel = { package satellite }
6 constraints = { package hu.bme.mit.inf.dslreasoner.domains.satellite.queries }
7 partial-model = { "inputs/SatelliteInstance.xmi"}
8 solver = ViatraSolver
9 scope = {
10 #node += 64..128
11 }
12
13 config = {
14 runtime = 10000,
15 log-level = normal
16 }
17
18 number = 1
19 runs = 3
20
21 debug = "outputs/debug"
22 log = "outputs/log.txt"
23 output = "outputs/models"
24 statistics = "outputs/statistics.csv"
25}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java
new file mode 100644
index 00000000..c4cdfbf6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java
@@ -0,0 +1,230 @@
1/**
2 */
3package satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Antenna Gain</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see satellite.SatellitePackage#getAntennaGain()
17 * @model
18 * @generated
19 */
20public enum AntennaGain implements Enumerator {
21 /**
22 * The '<em><b>LOW</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #LOW_VALUE
26 * @generated
27 * @ordered
28 */
29 LOW(0, "LOW", "LOW"),
30
31 /**
32 * The '<em><b>MEDIUM</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #MEDIUM_VALUE
36 * @generated
37 * @ordered
38 */
39 MEDIUM(1, "MEDIUM", "MEDIUM"),
40
41 /**
42 * The '<em><b>HIGH</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #HIGH_VALUE
46 * @generated
47 * @ordered
48 */
49 HIGH(2, "HIGH", "HIGH");
50
51 /**
52 * The '<em><b>LOW</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #LOW
56 * @model
57 * @generated
58 * @ordered
59 */
60 public static final int LOW_VALUE = 0;
61
62 /**
63 * The '<em><b>MEDIUM</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #MEDIUM
67 * @model
68 * @generated
69 * @ordered
70 */
71 public static final int MEDIUM_VALUE = 1;
72
73 /**
74 * The '<em><b>HIGH</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #HIGH
78 * @model
79 * @generated
80 * @ordered
81 */
82 public static final int HIGH_VALUE = 2;
83
84 /**
85 * An array of all the '<em><b>Antenna Gain</b></em>' enumerators.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private static final AntennaGain[] VALUES_ARRAY = new AntennaGain[] { LOW, MEDIUM, HIGH, };
91
92 /**
93 * A public read-only list of all the '<em><b>Antenna Gain</b></em>' enumerators.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public static final List<AntennaGain> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
99
100 /**
101 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified literal value.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param literal the literal.
105 * @return the matching enumerator or <code>null</code>.
106 * @generated
107 */
108 public static AntennaGain get(String literal) {
109 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
110 AntennaGain result = VALUES_ARRAY[i];
111 if (result.toString().equals(literal)) {
112 return result;
113 }
114 }
115 return null;
116 }
117
118 /**
119 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified name.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @param name the name.
123 * @return the matching enumerator or <code>null</code>.
124 * @generated
125 */
126 public static AntennaGain getByName(String name) {
127 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
128 AntennaGain result = VALUES_ARRAY[i];
129 if (result.getName().equals(name)) {
130 return result;
131 }
132 }
133 return null;
134 }
135
136 /**
137 * Returns the '<em><b>Antenna Gain</b></em>' literal with the specified integer value.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @param value the integer value.
141 * @return the matching enumerator or <code>null</code>.
142 * @generated
143 */
144 public static AntennaGain get(int value) {
145 switch (value) {
146 case LOW_VALUE:
147 return LOW;
148 case MEDIUM_VALUE:
149 return MEDIUM;
150 case HIGH_VALUE:
151 return HIGH;
152 }
153 return null;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 private final int value;
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 private final String name;
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final String literal;
176
177 /**
178 * Only this class can construct instances.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private AntennaGain(int value, String name, String literal) {
184 this.value = value;
185 this.name = name;
186 this.literal = literal;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public int getValue() {
196 return value;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public String getName() {
206 return name;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public String getLiteral() {
216 return literal;
217 }
218
219 /**
220 * Returns the literal value of the enumerator, which is its string representation.
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public String toString() {
227 return literal;
228 }
229
230} //AntennaGain
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
new file mode 100644
index 00000000..4c5ea937
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
@@ -0,0 +1,93 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Comm Subsystem</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 * <p>
13 * The following features are supported:
14 * </p>
15 * <ul>
16 * <li>{@link satellite.CommSubsystem#getTarget <em>Target</em>}</li>
17 * <li>{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}</li>
18 * <li>{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}</li>
19 * </ul>
20 *
21 * @see satellite.SatellitePackage#getCommSubsystem()
22 * @model abstract="true"
23 * @generated
24 */
25public interface CommSubsystem extends EObject {
26
27 /**
28 * Returns the value of the '<em><b>Target</b></em>' reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Target</em>' reference.
32 * @see #setTarget(CommSubsystem)
33 * @see satellite.SatellitePackage#getCommSubsystem_Target()
34 * @model
35 * @generated
36 */
37 CommSubsystem getTarget();
38
39 /**
40 * Sets the value of the '{@link satellite.CommSubsystem#getTarget <em>Target</em>}' reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Target</em>' reference.
44 * @see #getTarget()
45 * @generated
46 */
47 void setTarget(CommSubsystem value);
48
49 /**
50 * Returns the value of the '<em><b>Frequency</b></em>' attribute.
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @return the value of the '<em>Frequency</em>' attribute.
54 * @see #setFrequency(int)
55 * @see satellite.SatellitePackage#getCommSubsystem_Frequency()
56 * @model required="true"
57 * @generated
58 */
59 int getFrequency();
60
61 /**
62 * Sets the value of the '{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}' attribute.
63 * <!-- begin-user-doc -->
64 * <!-- end-user-doc -->
65 * @param value the new value of the '<em>Frequency</em>' attribute.
66 * @see #getFrequency()
67 * @generated
68 */
69 void setFrequency(int value);
70
71 /**
72 * Returns the value of the '<em><b>Path Length</b></em>' attribute.
73 * <!-- begin-user-doc -->
74 * <!-- end-user-doc -->
75 * @return the value of the '<em>Path Length</em>' attribute.
76 * @see #setPathLength(int)
77 * @see satellite.SatellitePackage#getCommSubsystem_PathLength()
78 * @model required="true"
79 * @generated
80 */
81 int getPathLength();
82
83 /**
84 * Sets the value of the '{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}' attribute.
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @param value the new value of the '<em>Path Length</em>' attribute.
88 * @see #getPathLength()
89 * @generated
90 */
91 void setPathLength(int value);
92
93} // CommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
new file mode 100644
index 00000000..e8c3bc41
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java
@@ -0,0 +1,38 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Communicating Element</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}</li>
19 * </ul>
20 *
21 * @see satellite.SatellitePackage#getCommunicatingElement()
22 * @model abstract="true"
23 * @generated
24 */
25public interface CommunicatingElement extends EObject {
26 /**
27 * Returns the value of the '<em><b>Comm Subsystem</b></em>' containment reference list.
28 * The list contents are of type {@link satellite.CommSubsystem}.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Comm Subsystem</em>' containment reference list.
32 * @see satellite.SatellitePackage#getCommunicatingElement_CommSubsystem()
33 * @model containment="true" required="true" upper="2"
34 * @generated
35 */
36 EList<CommSubsystem> getCommSubsystem();
37
38} // CommunicatingElement
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java
new file mode 100644
index 00000000..8ff69955
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java
@@ -0,0 +1,61 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.common.util.EList;
6
7import org.eclipse.emf.ecore.EObject;
8
9/**
10 * <!-- begin-user-doc -->
11 * A representation of the model object '<em><b>Constellation Mission</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * <p>
15 * The following features are supported:
16 * </p>
17 * <ul>
18 * <li>{@link satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}</li>
19 * <li>{@link satellite.ConstellationMission#getSpacecraft <em>Spacecraft</em>}</li>
20 * </ul>
21 *
22 * @see satellite.SatellitePackage#getConstellationMission()
23 * @model abstract="true"
24 * @generated
25 */
26public interface ConstellationMission extends EObject {
27 /**
28 * Returns the value of the '<em><b>Ground Station Network</b></em>' containment reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @return the value of the '<em>Ground Station Network</em>' containment reference.
32 * @see #setGroundStationNetwork(GroundStationNetwork)
33 * @see satellite.SatellitePackage#getConstellationMission_GroundStationNetwork()
34 * @model containment="true" required="true"
35 * @generated
36 */
37 GroundStationNetwork getGroundStationNetwork();
38
39 /**
40 * Sets the value of the '{@link satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}' containment reference.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @param value the new value of the '<em>Ground Station Network</em>' containment reference.
44 * @see #getGroundStationNetwork()
45 * @generated
46 */
47 void setGroundStationNetwork(GroundStationNetwork value);
48
49 /**
50 * Returns the value of the '<em><b>Spacecraft</b></em>' containment reference list.
51 * The list contents are of type {@link satellite.Spacecraft}.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @return the value of the '<em>Spacecraft</em>' containment reference list.
55 * @see satellite.SatellitePackage#getConstellationMission_Spacecraft()
56 * @model containment="true" lower="2"
57 * @generated
58 */
59 EList<Spacecraft> getSpacecraft();
60
61} // ConstellationMission
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java
new file mode 100644
index 00000000..a38926d4
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getCubeSat()
12 * @model abstract="true"
13 * @generated
14 */
15public interface CubeSat extends Spacecraft {
16} // CubeSat
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java
new file mode 100644
index 00000000..c68bf52c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat3 U</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getCubeSat3U()
12 * @model
13 * @generated
14 */
15public interface CubeSat3U extends CubeSat {
16} // CubeSat3U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
new file mode 100644
index 00000000..5ade601a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Cube Sat6 U</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getCubeSat6U()
12 * @model
13 * @generated
14 */
15public interface CubeSat6U extends CubeSat {
16} // CubeSat6U
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/GroundStationNetwork.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/GroundStationNetwork.java
new file mode 100644
index 00000000..8df20913
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/GroundStationNetwork.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Ground Station Network</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getGroundStationNetwork()
12 * @model
13 * @generated
14 */
15public interface GroundStationNetwork extends CommunicatingElement {
16} // GroundStationNetwork
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java
new file mode 100644
index 00000000..4e28df38
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java
@@ -0,0 +1,17 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Interferometry Mission</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getInterferometryMission()
12 * @model
13 * @generated
14 */
15public interface InterferometryMission extends ConstellationMission {
16
17} // InterferometryMission
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryPayload.java
new file mode 100644
index 00000000..67156bdb
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryPayload.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Interferometry Payload</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getInterferometryPayload()
12 * @model
13 * @generated
14 */
15public interface InterferometryPayload extends Payload {
16} // InterferometryPayload
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java
new file mode 100644
index 00000000..458831cf
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Ka Comm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getKaCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface KaCommSubsystem extends CommSubsystem {
16} // KaCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Payload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Payload.java
new file mode 100644
index 00000000..3222fd3b
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Payload.java
@@ -0,0 +1,18 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.ecore.EObject;
6
7/**
8 * <!-- begin-user-doc -->
9 * A representation of the model object '<em><b>Payload</b></em>'.
10 * <!-- end-user-doc -->
11 *
12 *
13 * @see satellite.SatellitePackage#getPayload()
14 * @model abstract="true"
15 * @generated
16 */
17public interface Payload extends EObject {
18} // Payload
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java
new file mode 100644
index 00000000..c906bde6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java
@@ -0,0 +1,114 @@
1/**
2 */
3package satellite;
4
5import 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 satellite.SatellitePackage
13 * @generated
14 */
15public interface SatelliteFactory extends EFactory {
16 /**
17 * The singleton instance of the factory.
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 SatelliteFactory eINSTANCE = satellite.impl.SatelliteFactoryImpl.init();
23
24 /**
25 * Returns a new object of class '<em>Interferometry Mission</em>'.
26 * <!-- begin-user-doc -->
27 * <!-- end-user-doc -->
28 * @return a new object of class '<em>Interferometry Mission</em>'.
29 * @generated
30 */
31 InterferometryMission createInterferometryMission();
32
33 /**
34 * Returns a new object of class '<em>Ground Station Network</em>'.
35 * <!-- begin-user-doc -->
36 * <!-- end-user-doc -->
37 * @return a new object of class '<em>Ground Station Network</em>'.
38 * @generated
39 */
40 GroundStationNetwork createGroundStationNetwork();
41
42 /**
43 * Returns a new object of class '<em>Interferometry Payload</em>'.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @return a new object of class '<em>Interferometry Payload</em>'.
47 * @generated
48 */
49 InterferometryPayload createInterferometryPayload();
50
51 /**
52 * Returns a new object of class '<em>Cube Sat3 U</em>'.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @return a new object of class '<em>Cube Sat3 U</em>'.
56 * @generated
57 */
58 CubeSat3U createCubeSat3U();
59
60 /**
61 * Returns a new object of class '<em>Cube Sat6 U</em>'.
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @return a new object of class '<em>Cube Sat6 U</em>'.
65 * @generated
66 */
67 CubeSat6U createCubeSat6U();
68
69 /**
70 * Returns a new object of class '<em>Small Sat</em>'.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @return a new object of class '<em>Small Sat</em>'.
74 * @generated
75 */
76 SmallSat createSmallSat();
77
78 /**
79 * Returns a new object of class '<em>UHF Comm Subsystem</em>'.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @return a new object of class '<em>UHF Comm Subsystem</em>'.
83 * @generated
84 */
85 UHFCommSubsystem createUHFCommSubsystem();
86
87 /**
88 * Returns a new object of class '<em>XComm Subsystem</em>'.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @return a new object of class '<em>XComm Subsystem</em>'.
92 * @generated
93 */
94 XCommSubsystem createXCommSubsystem();
95
96 /**
97 * Returns a new object of class '<em>Ka Comm Subsystem</em>'.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @return a new object of class '<em>Ka Comm Subsystem</em>'.
101 * @generated
102 */
103 KaCommSubsystem createKaCommSubsystem();
104
105 /**
106 * Returns the package supported by this factory.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @return the package supported by this factory.
110 * @generated
111 */
112 SatellitePackage getSatellitePackage();
113
114} //SatelliteFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
new file mode 100644
index 00000000..173e2388
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
@@ -0,0 +1,1190 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10/**
11 * <!-- begin-user-doc -->
12 * The <b>Package</b> for the model.
13 * It contains accessors for the meta objects to represent
14 * <ul>
15 * <li>each class,</li>
16 * <li>each feature of each class,</li>
17 * <li>each operation of each class,</li>
18 * <li>each enum,</li>
19 * <li>and each data type</li>
20 * </ul>
21 * <!-- end-user-doc -->
22 * @see satellite.SatelliteFactory
23 * @model kind="package"
24 * @generated
25 */
26public interface SatellitePackage extends EPackage {
27 /**
28 * The package name.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @generated
32 */
33 String eNAME = "satellite";
34
35 /**
36 * The package namespace URI.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 String eNS_URI = "http://www.example.org/satellite";
42
43 /**
44 * The package namespace name.
45 * <!-- begin-user-doc -->
46 * <!-- end-user-doc -->
47 * @generated
48 */
49 String eNS_PREFIX = "satellite";
50
51 /**
52 * The singleton instance of the package.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @generated
56 */
57 SatellitePackage eINSTANCE = satellite.impl.SatellitePackageImpl.init();
58
59 /**
60 * The meta object id for the '{@link satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @see satellite.impl.ConstellationMissionImpl
64 * @see satellite.impl.SatellitePackageImpl#getConstellationMission()
65 * @generated
66 */
67 int CONSTELLATION_MISSION = 0;
68
69 /**
70 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 * @ordered
75 */
76 int CONSTELLATION_MISSION__GROUND_STATION_NETWORK = 0;
77
78 /**
79 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
80 * <!-- begin-user-doc -->
81 * <!-- end-user-doc -->
82 * @generated
83 * @ordered
84 */
85 int CONSTELLATION_MISSION__SPACECRAFT = 1;
86
87 /**
88 * The number of structural features of the '<em>Constellation Mission</em>' class.
89 * <!-- begin-user-doc -->
90 * <!-- end-user-doc -->
91 * @generated
92 * @ordered
93 */
94 int CONSTELLATION_MISSION_FEATURE_COUNT = 2;
95
96 /**
97 * The number of operations of the '<em>Constellation Mission</em>' class.
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 * @ordered
102 */
103 int CONSTELLATION_MISSION_OPERATION_COUNT = 0;
104
105 /**
106 * The meta object id for the '{@link satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @see satellite.impl.InterferometryMissionImpl
110 * @see satellite.impl.SatellitePackageImpl#getInterferometryMission()
111 * @generated
112 */
113 int INTERFEROMETRY_MISSION = 1;
114
115 /**
116 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 * @ordered
121 */
122 int INTERFEROMETRY_MISSION__GROUND_STATION_NETWORK = CONSTELLATION_MISSION__GROUND_STATION_NETWORK;
123
124 /**
125 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 * @ordered
130 */
131 int INTERFEROMETRY_MISSION__SPACECRAFT = CONSTELLATION_MISSION__SPACECRAFT;
132
133 /**
134 * The number of structural features of the '<em>Interferometry Mission</em>' class.
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 * @ordered
139 */
140 int INTERFEROMETRY_MISSION_FEATURE_COUNT = CONSTELLATION_MISSION_FEATURE_COUNT + 0;
141
142 /**
143 * The number of operations of the '<em>Interferometry Mission</em>' class.
144 * <!-- begin-user-doc -->
145 * <!-- end-user-doc -->
146 * @generated
147 * @ordered
148 */
149 int INTERFEROMETRY_MISSION_OPERATION_COUNT = CONSTELLATION_MISSION_OPERATION_COUNT + 0;
150
151 /**
152 * The meta object id for the '{@link satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
153 * <!-- begin-user-doc -->
154 * <!-- end-user-doc -->
155 * @see satellite.impl.CommunicatingElementImpl
156 * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement()
157 * @generated
158 */
159 int COMMUNICATING_ELEMENT = 2;
160
161 /**
162 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
163 * <!-- begin-user-doc -->
164 * <!-- end-user-doc -->
165 * @generated
166 * @ordered
167 */
168 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0;
169
170 /**
171 * The number of structural features of the '<em>Communicating Element</em>' class.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @generated
175 * @ordered
176 */
177 int COMMUNICATING_ELEMENT_FEATURE_COUNT = 1;
178
179 /**
180 * The number of operations of the '<em>Communicating Element</em>' class.
181 * <!-- begin-user-doc -->
182 * <!-- end-user-doc -->
183 * @generated
184 * @ordered
185 */
186 int COMMUNICATING_ELEMENT_OPERATION_COUNT = 0;
187
188 /**
189 * The meta object id for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @see satellite.impl.GroundStationNetworkImpl
193 * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
194 * @generated
195 */
196 int GROUND_STATION_NETWORK = 3;
197
198 /**
199 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 * @ordered
204 */
205 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
206
207 /**
208 * The number of structural features of the '<em>Ground Station Network</em>' class.
209 * <!-- begin-user-doc -->
210 * <!-- end-user-doc -->
211 * @generated
212 * @ordered
213 */
214 int GROUND_STATION_NETWORK_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
215
216 /**
217 * The number of operations of the '<em>Ground Station Network</em>' class.
218 * <!-- begin-user-doc -->
219 * <!-- end-user-doc -->
220 * @generated
221 * @ordered
222 */
223 int GROUND_STATION_NETWORK_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
224
225 /**
226 * The meta object id for the '{@link satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
227 * <!-- begin-user-doc -->
228 * <!-- end-user-doc -->
229 * @see satellite.impl.SpacecraftImpl
230 * @see satellite.impl.SatellitePackageImpl#getSpacecraft()
231 * @generated
232 */
233 int SPACECRAFT = 4;
234
235 /**
236 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
237 * <!-- begin-user-doc -->
238 * <!-- end-user-doc -->
239 * @generated
240 * @ordered
241 */
242 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
243
244 /**
245 * The feature id for the '<em><b>Payload</b></em>' containment reference.
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 * @ordered
250 */
251 int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
252
253 /**
254 * The number of structural features of the '<em>Spacecraft</em>' class.
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 * @ordered
259 */
260 int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1;
261
262 /**
263 * The number of operations of the '<em>Spacecraft</em>' class.
264 * <!-- begin-user-doc -->
265 * <!-- end-user-doc -->
266 * @generated
267 * @ordered
268 */
269 int SPACECRAFT_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
270
271 /**
272 * The meta object id for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
273 * <!-- begin-user-doc -->
274 * <!-- end-user-doc -->
275 * @see satellite.impl.CommSubsystemImpl
276 * @see satellite.impl.SatellitePackageImpl#getCommSubsystem()
277 * @generated
278 */
279 int COMM_SUBSYSTEM = 5;
280
281 /**
282 * The feature id for the '<em><b>Target</b></em>' reference.
283 * <!-- begin-user-doc -->
284 * <!-- end-user-doc -->
285 * @generated
286 * @ordered
287 */
288 int COMM_SUBSYSTEM__TARGET = 0;
289
290 /**
291 * The feature id for the '<em><b>Frequency</b></em>' attribute.
292 * <!-- begin-user-doc -->
293 * <!-- end-user-doc -->
294 * @generated
295 * @ordered
296 */
297 int COMM_SUBSYSTEM__FREQUENCY = 1;
298
299 /**
300 * The feature id for the '<em><b>Path Length</b></em>' attribute.
301 * <!-- begin-user-doc -->
302 * <!-- end-user-doc -->
303 * @generated
304 * @ordered
305 */
306 int COMM_SUBSYSTEM__PATH_LENGTH = 2;
307
308 /**
309 * The number of structural features of the '<em>Comm Subsystem</em>' class.
310 * <!-- begin-user-doc -->
311 * <!-- end-user-doc -->
312 * @generated
313 * @ordered
314 */
315 int COMM_SUBSYSTEM_FEATURE_COUNT = 3;
316
317 /**
318 * The number of operations of the '<em>Comm Subsystem</em>' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int COMM_SUBSYSTEM_OPERATION_COUNT = 0;
325
326 /**
327 * The meta object id for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @see satellite.impl.PayloadImpl
331 * @see satellite.impl.SatellitePackageImpl#getPayload()
332 * @generated
333 */
334 int PAYLOAD = 6;
335
336 /**
337 * The number of structural features of the '<em>Payload</em>' class.
338 * <!-- begin-user-doc -->
339 * <!-- end-user-doc -->
340 * @generated
341 * @ordered
342 */
343 int PAYLOAD_FEATURE_COUNT = 0;
344
345 /**
346 * The number of operations of the '<em>Payload</em>' class.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int PAYLOAD_OPERATION_COUNT = 0;
353
354 /**
355 * The meta object id for the '{@link satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @see satellite.impl.InterferometryPayloadImpl
359 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload()
360 * @generated
361 */
362 int INTERFEROMETRY_PAYLOAD = 7;
363
364 /**
365 * The number of structural features of the '<em>Interferometry Payload</em>' class.
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 * @ordered
370 */
371 int INTERFEROMETRY_PAYLOAD_FEATURE_COUNT = PAYLOAD_FEATURE_COUNT + 0;
372
373 /**
374 * The number of operations of the '<em>Interferometry Payload</em>' class.
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 * @ordered
379 */
380 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
381
382 /**
383 * The meta object id for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @see satellite.impl.CubeSatImpl
387 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
388 * @generated
389 */
390 int CUBE_SAT = 11;
391
392 /**
393 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
394 * <!-- begin-user-doc -->
395 * <!-- end-user-doc -->
396 * @generated
397 * @ordered
398 */
399 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
400
401 /**
402 * The feature id for the '<em><b>Payload</b></em>' containment reference.
403 * <!-- begin-user-doc -->
404 * <!-- end-user-doc -->
405 * @generated
406 * @ordered
407 */
408 int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
409
410 /**
411 * The number of structural features of the '<em>Cube Sat</em>' class.
412 * <!-- begin-user-doc -->
413 * <!-- end-user-doc -->
414 * @generated
415 * @ordered
416 */
417 int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
418
419 /**
420 * The number of operations of the '<em>Cube Sat</em>' class.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
427
428 /**
429 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @see satellite.impl.CubeSat3UImpl
433 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
434 * @generated
435 */
436 int CUBE_SAT3_U = 8;
437
438 /**
439 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
440 * <!-- begin-user-doc -->
441 * <!-- end-user-doc -->
442 * @generated
443 * @ordered
444 */
445 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
446
447 /**
448 * The feature id for the '<em><b>Payload</b></em>' containment reference.
449 * <!-- begin-user-doc -->
450 * <!-- end-user-doc -->
451 * @generated
452 * @ordered
453 */
454 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD;
455
456 /**
457 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
458 * <!-- begin-user-doc -->
459 * <!-- end-user-doc -->
460 * @generated
461 * @ordered
462 */
463 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
464
465 /**
466 * The number of operations of the '<em>Cube Sat3 U</em>' class.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @generated
470 * @ordered
471 */
472 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
473
474 /**
475 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @see satellite.impl.CubeSat6UImpl
479 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U()
480 * @generated
481 */
482 int CUBE_SAT6_U = 9;
483
484 /**
485 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
486 * <!-- begin-user-doc -->
487 * <!-- end-user-doc -->
488 * @generated
489 * @ordered
490 */
491 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
492
493 /**
494 * The feature id for the '<em><b>Payload</b></em>' containment reference.
495 * <!-- begin-user-doc -->
496 * <!-- end-user-doc -->
497 * @generated
498 * @ordered
499 */
500 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD;
501
502 /**
503 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
504 * <!-- begin-user-doc -->
505 * <!-- end-user-doc -->
506 * @generated
507 * @ordered
508 */
509 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
510
511 /**
512 * The number of operations of the '<em>Cube Sat6 U</em>' class.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
519
520 /**
521 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @see satellite.impl.SmallSatImpl
525 * @see satellite.impl.SatellitePackageImpl#getSmallSat()
526 * @generated
527 */
528 int SMALL_SAT = 10;
529
530 /**
531 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
532 * <!-- begin-user-doc -->
533 * <!-- end-user-doc -->
534 * @generated
535 * @ordered
536 */
537 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
538
539 /**
540 * The feature id for the '<em><b>Payload</b></em>' containment reference.
541 * <!-- begin-user-doc -->
542 * <!-- end-user-doc -->
543 * @generated
544 * @ordered
545 */
546 int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
547
548 /**
549 * The number of structural features of the '<em>Small Sat</em>' class.
550 * <!-- begin-user-doc -->
551 * <!-- end-user-doc -->
552 * @generated
553 * @ordered
554 */
555 int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
556
557 /**
558 * The number of operations of the '<em>Small Sat</em>' class.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @generated
562 * @ordered
563 */
564 int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
565
566 /**
567 * The meta object id for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @see satellite.impl.UHFCommSubsystemImpl
571 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
572 * @generated
573 */
574 int UHF_COMM_SUBSYSTEM = 12;
575
576 /**
577 * The feature id for the '<em><b>Target</b></em>' reference.
578 * <!-- begin-user-doc -->
579 * <!-- end-user-doc -->
580 * @generated
581 * @ordered
582 */
583 int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
584
585 /**
586 * The feature id for the '<em><b>Frequency</b></em>' attribute.
587 * <!-- begin-user-doc -->
588 * <!-- end-user-doc -->
589 * @generated
590 * @ordered
591 */
592 int UHF_COMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
593
594 /**
595 * The feature id for the '<em><b>Path Length</b></em>' attribute.
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 * @ordered
600 */
601 int UHF_COMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
602
603 /**
604 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class.
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 * @ordered
609 */
610 int UHF_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
611
612 /**
613 * The number of operations of the '<em>UHF Comm Subsystem</em>' class.
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 * @ordered
618 */
619 int UHF_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
620
621 /**
622 * The meta object id for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @see satellite.impl.XCommSubsystemImpl
626 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
627 * @generated
628 */
629 int XCOMM_SUBSYSTEM = 13;
630
631 /**
632 * The feature id for the '<em><b>Target</b></em>' reference.
633 * <!-- begin-user-doc -->
634 * <!-- end-user-doc -->
635 * @generated
636 * @ordered
637 */
638 int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
639
640 /**
641 * The feature id for the '<em><b>Frequency</b></em>' attribute.
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 * @ordered
646 */
647 int XCOMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
648
649 /**
650 * The feature id for the '<em><b>Path Length</b></em>' attribute.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 * @ordered
655 */
656 int XCOMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
657
658 /**
659 * The number of structural features of the '<em>XComm Subsystem</em>' class.
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @generated
663 * @ordered
664 */
665 int XCOMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
666
667 /**
668 * The number of operations of the '<em>XComm Subsystem</em>' class.
669 * <!-- begin-user-doc -->
670 * <!-- end-user-doc -->
671 * @generated
672 * @ordered
673 */
674 int XCOMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
675
676 /**
677 * The meta object id for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
678 * <!-- begin-user-doc -->
679 * <!-- end-user-doc -->
680 * @see satellite.impl.KaCommSubsystemImpl
681 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
682 * @generated
683 */
684 int KA_COMM_SUBSYSTEM = 14;
685
686 /**
687 * The feature id for the '<em><b>Target</b></em>' reference.
688 * <!-- begin-user-doc -->
689 * <!-- end-user-doc -->
690 * @generated
691 * @ordered
692 */
693 int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
694
695 /**
696 * The feature id for the '<em><b>Frequency</b></em>' attribute.
697 * <!-- begin-user-doc -->
698 * <!-- end-user-doc -->
699 * @generated
700 * @ordered
701 */
702 int KA_COMM_SUBSYSTEM__FREQUENCY = COMM_SUBSYSTEM__FREQUENCY;
703
704 /**
705 * The feature id for the '<em><b>Path Length</b></em>' attribute.
706 * <!-- begin-user-doc -->
707 * <!-- end-user-doc -->
708 * @generated
709 * @ordered
710 */
711 int KA_COMM_SUBSYSTEM__PATH_LENGTH = COMM_SUBSYSTEM__PATH_LENGTH;
712
713 /**
714 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class.
715 * <!-- begin-user-doc -->
716 * <!-- end-user-doc -->
717 * @generated
718 * @ordered
719 */
720 int KA_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
721
722 /**
723 * The number of operations of the '<em>Ka Comm Subsystem</em>' class.
724 * <!-- begin-user-doc -->
725 * <!-- end-user-doc -->
726 * @generated
727 * @ordered
728 */
729 int KA_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
730
731 /**
732 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @return the meta object for class '<em>Constellation Mission</em>'.
736 * @see satellite.ConstellationMission
737 * @generated
738 */
739 EClass getConstellationMission();
740
741 /**
742 * Returns the meta object for the containment reference '{@link satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}'.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @return the meta object for the containment reference '<em>Ground Station Network</em>'.
746 * @see satellite.ConstellationMission#getGroundStationNetwork()
747 * @see #getConstellationMission()
748 * @generated
749 */
750 EReference getConstellationMission_GroundStationNetwork();
751
752 /**
753 * Returns the meta object for the containment reference list '{@link satellite.ConstellationMission#getSpacecraft <em>Spacecraft</em>}'.
754 * <!-- begin-user-doc -->
755 * <!-- end-user-doc -->
756 * @return the meta object for the containment reference list '<em>Spacecraft</em>'.
757 * @see satellite.ConstellationMission#getSpacecraft()
758 * @see #getConstellationMission()
759 * @generated
760 */
761 EReference getConstellationMission_Spacecraft();
762
763 /**
764 * Returns the meta object for class '{@link satellite.InterferometryMission <em>Interferometry Mission</em>}'.
765 * <!-- begin-user-doc -->
766 * <!-- end-user-doc -->
767 * @return the meta object for class '<em>Interferometry Mission</em>'.
768 * @see satellite.InterferometryMission
769 * @generated
770 */
771 EClass getInterferometryMission();
772
773 /**
774 * Returns the meta object for class '{@link satellite.CommunicatingElement <em>Communicating Element</em>}'.
775 * <!-- begin-user-doc -->
776 * <!-- end-user-doc -->
777 * @return the meta object for class '<em>Communicating Element</em>'.
778 * @see satellite.CommunicatingElement
779 * @generated
780 */
781 EClass getCommunicatingElement();
782
783 /**
784 * Returns the meta object for the containment reference list '{@link satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}'.
785 * <!-- begin-user-doc -->
786 * <!-- end-user-doc -->
787 * @return the meta object for the containment reference list '<em>Comm Subsystem</em>'.
788 * @see satellite.CommunicatingElement#getCommSubsystem()
789 * @see #getCommunicatingElement()
790 * @generated
791 */
792 EReference getCommunicatingElement_CommSubsystem();
793
794 /**
795 * Returns the meta object for class '{@link satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
796 * <!-- begin-user-doc -->
797 * <!-- end-user-doc -->
798 * @return the meta object for class '<em>Ground Station Network</em>'.
799 * @see satellite.GroundStationNetwork
800 * @generated
801 */
802 EClass getGroundStationNetwork();
803
804 /**
805 * Returns the meta object for class '{@link satellite.Spacecraft <em>Spacecraft</em>}'.
806 * <!-- begin-user-doc -->
807 * <!-- end-user-doc -->
808 * @return the meta object for class '<em>Spacecraft</em>'.
809 * @see satellite.Spacecraft
810 * @generated
811 */
812 EClass getSpacecraft();
813
814 /**
815 * Returns the meta object for the containment reference '{@link satellite.Spacecraft#getPayload <em>Payload</em>}'.
816 * <!-- begin-user-doc -->
817 * <!-- end-user-doc -->
818 * @return the meta object for the containment reference '<em>Payload</em>'.
819 * @see satellite.Spacecraft#getPayload()
820 * @see #getSpacecraft()
821 * @generated
822 */
823 EReference getSpacecraft_Payload();
824
825 /**
826 * Returns the meta object for class '{@link satellite.CommSubsystem <em>Comm Subsystem</em>}'.
827 * <!-- begin-user-doc -->
828 * <!-- end-user-doc -->
829 * @return the meta object for class '<em>Comm Subsystem</em>'.
830 * @see satellite.CommSubsystem
831 * @generated
832 */
833 EClass getCommSubsystem();
834
835 /**
836 * Returns the meta object for the reference '{@link satellite.CommSubsystem#getTarget <em>Target</em>}'.
837 * <!-- begin-user-doc -->
838 * <!-- end-user-doc -->
839 * @return the meta object for the reference '<em>Target</em>'.
840 * @see satellite.CommSubsystem#getTarget()
841 * @see #getCommSubsystem()
842 * @generated
843 */
844 EReference getCommSubsystem_Target();
845
846 /**
847 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getFrequency <em>Frequency</em>}'.
848 * <!-- begin-user-doc -->
849 * <!-- end-user-doc -->
850 * @return the meta object for the attribute '<em>Frequency</em>'.
851 * @see satellite.CommSubsystem#getFrequency()
852 * @see #getCommSubsystem()
853 * @generated
854 */
855 EAttribute getCommSubsystem_Frequency();
856
857 /**
858 * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getPathLength <em>Path Length</em>}'.
859 * <!-- begin-user-doc -->
860 * <!-- end-user-doc -->
861 * @return the meta object for the attribute '<em>Path Length</em>'.
862 * @see satellite.CommSubsystem#getPathLength()
863 * @see #getCommSubsystem()
864 * @generated
865 */
866 EAttribute getCommSubsystem_PathLength();
867
868 /**
869 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'.
870 * <!-- begin-user-doc -->
871 * <!-- end-user-doc -->
872 * @return the meta object for class '<em>Payload</em>'.
873 * @see satellite.Payload
874 * @generated
875 */
876 EClass getPayload();
877
878 /**
879 * Returns the meta object for class '{@link satellite.InterferometryPayload <em>Interferometry Payload</em>}'.
880 * <!-- begin-user-doc -->
881 * <!-- end-user-doc -->
882 * @return the meta object for class '<em>Interferometry Payload</em>'.
883 * @see satellite.InterferometryPayload
884 * @generated
885 */
886 EClass getInterferometryPayload();
887
888 /**
889 * Returns the meta object for class '{@link satellite.CubeSat3U <em>Cube Sat3 U</em>}'.
890 * <!-- begin-user-doc -->
891 * <!-- end-user-doc -->
892 * @return the meta object for class '<em>Cube Sat3 U</em>'.
893 * @see satellite.CubeSat3U
894 * @generated
895 */
896 EClass getCubeSat3U();
897
898 /**
899 * Returns the meta object for class '{@link satellite.CubeSat6U <em>Cube Sat6 U</em>}'.
900 * <!-- begin-user-doc -->
901 * <!-- end-user-doc -->
902 * @return the meta object for class '<em>Cube Sat6 U</em>'.
903 * @see satellite.CubeSat6U
904 * @generated
905 */
906 EClass getCubeSat6U();
907
908 /**
909 * Returns the meta object for class '{@link satellite.SmallSat <em>Small Sat</em>}'.
910 * <!-- begin-user-doc -->
911 * <!-- end-user-doc -->
912 * @return the meta object for class '<em>Small Sat</em>'.
913 * @see satellite.SmallSat
914 * @generated
915 */
916 EClass getSmallSat();
917
918 /**
919 * Returns the meta object for class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
920 * <!-- begin-user-doc -->
921 * <!-- end-user-doc -->
922 * @return the meta object for class '<em>Cube Sat</em>'.
923 * @see satellite.CubeSat
924 * @generated
925 */
926 EClass getCubeSat();
927
928 /**
929 * Returns the meta object for class '{@link satellite.UHFCommSubsystem <em>UHF Comm Subsystem</em>}'.
930 * <!-- begin-user-doc -->
931 * <!-- end-user-doc -->
932 * @return the meta object for class '<em>UHF Comm Subsystem</em>'.
933 * @see satellite.UHFCommSubsystem
934 * @generated
935 */
936 EClass getUHFCommSubsystem();
937
938 /**
939 * Returns the meta object for class '{@link satellite.XCommSubsystem <em>XComm Subsystem</em>}'.
940 * <!-- begin-user-doc -->
941 * <!-- end-user-doc -->
942 * @return the meta object for class '<em>XComm Subsystem</em>'.
943 * @see satellite.XCommSubsystem
944 * @generated
945 */
946 EClass getXCommSubsystem();
947
948 /**
949 * Returns the meta object for class '{@link satellite.KaCommSubsystem <em>Ka Comm Subsystem</em>}'.
950 * <!-- begin-user-doc -->
951 * <!-- end-user-doc -->
952 * @return the meta object for class '<em>Ka Comm Subsystem</em>'.
953 * @see satellite.KaCommSubsystem
954 * @generated
955 */
956 EClass getKaCommSubsystem();
957
958 /**
959 * Returns the factory that creates the instances of the model.
960 * <!-- begin-user-doc -->
961 * <!-- end-user-doc -->
962 * @return the factory that creates the instances of the model.
963 * @generated
964 */
965 SatelliteFactory getSatelliteFactory();
966
967 /**
968 * <!-- begin-user-doc -->
969 * Defines literals for the meta objects that represent
970 * <ul>
971 * <li>each class,</li>
972 * <li>each feature of each class,</li>
973 * <li>each operation of each class,</li>
974 * <li>each enum,</li>
975 * <li>and each data type</li>
976 * </ul>
977 * <!-- end-user-doc -->
978 * @generated
979 */
980 interface Literals {
981 /**
982 * The meta object literal for the '{@link satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
983 * <!-- begin-user-doc -->
984 * <!-- end-user-doc -->
985 * @see satellite.impl.ConstellationMissionImpl
986 * @see satellite.impl.SatellitePackageImpl#getConstellationMission()
987 * @generated
988 */
989 EClass CONSTELLATION_MISSION = eINSTANCE.getConstellationMission();
990
991 /**
992 * The meta object literal for the '<em><b>Ground Station Network</b></em>' containment reference feature.
993 * <!-- begin-user-doc -->
994 * <!-- end-user-doc -->
995 * @generated
996 */
997 EReference CONSTELLATION_MISSION__GROUND_STATION_NETWORK = eINSTANCE
998 .getConstellationMission_GroundStationNetwork();
999
1000 /**
1001 * The meta object literal for the '<em><b>Spacecraft</b></em>' containment reference list feature.
1002 * <!-- begin-user-doc -->
1003 * <!-- end-user-doc -->
1004 * @generated
1005 */
1006 EReference CONSTELLATION_MISSION__SPACECRAFT = eINSTANCE.getConstellationMission_Spacecraft();
1007
1008 /**
1009 * The meta object literal for the '{@link satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
1010 * <!-- begin-user-doc -->
1011 * <!-- end-user-doc -->
1012 * @see satellite.impl.InterferometryMissionImpl
1013 * @see satellite.impl.SatellitePackageImpl#getInterferometryMission()
1014 * @generated
1015 */
1016 EClass INTERFEROMETRY_MISSION = eINSTANCE.getInterferometryMission();
1017
1018 /**
1019 * The meta object literal for the '{@link satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
1020 * <!-- begin-user-doc -->
1021 * <!-- end-user-doc -->
1022 * @see satellite.impl.CommunicatingElementImpl
1023 * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement()
1024 * @generated
1025 */
1026 EClass COMMUNICATING_ELEMENT = eINSTANCE.getCommunicatingElement();
1027
1028 /**
1029 * The meta object literal for the '<em><b>Comm Subsystem</b></em>' containment reference list feature.
1030 * <!-- begin-user-doc -->
1031 * <!-- end-user-doc -->
1032 * @generated
1033 */
1034 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
1035
1036 /**
1037 * The meta object literal for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
1038 * <!-- begin-user-doc -->
1039 * <!-- end-user-doc -->
1040 * @see satellite.impl.GroundStationNetworkImpl
1041 * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
1042 * @generated
1043 */
1044 EClass GROUND_STATION_NETWORK = eINSTANCE.getGroundStationNetwork();
1045
1046 /**
1047 * The meta object literal for the '{@link satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
1048 * <!-- begin-user-doc -->
1049 * <!-- end-user-doc -->
1050 * @see satellite.impl.SpacecraftImpl
1051 * @see satellite.impl.SatellitePackageImpl#getSpacecraft()
1052 * @generated
1053 */
1054 EClass SPACECRAFT = eINSTANCE.getSpacecraft();
1055
1056 /**
1057 * The meta object literal for the '<em><b>Payload</b></em>' containment reference feature.
1058 * <!-- begin-user-doc -->
1059 * <!-- end-user-doc -->
1060 * @generated
1061 */
1062 EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload();
1063
1064 /**
1065 * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
1066 * <!-- begin-user-doc -->
1067 * <!-- end-user-doc -->
1068 * @see satellite.impl.CommSubsystemImpl
1069 * @see satellite.impl.SatellitePackageImpl#getCommSubsystem()
1070 * @generated
1071 */
1072 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem();
1073
1074 /**
1075 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
1076 * <!-- begin-user-doc -->
1077 * <!-- end-user-doc -->
1078 * @generated
1079 */
1080 EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target();
1081
1082 /**
1083 * The meta object literal for the '<em><b>Frequency</b></em>' attribute feature.
1084 * <!-- begin-user-doc -->
1085 * <!-- end-user-doc -->
1086 * @generated
1087 */
1088 EAttribute COMM_SUBSYSTEM__FREQUENCY = eINSTANCE.getCommSubsystem_Frequency();
1089
1090 /**
1091 * The meta object literal for the '<em><b>Path Length</b></em>' attribute feature.
1092 * <!-- begin-user-doc -->
1093 * <!-- end-user-doc -->
1094 * @generated
1095 */
1096 EAttribute COMM_SUBSYSTEM__PATH_LENGTH = eINSTANCE.getCommSubsystem_PathLength();
1097
1098 /**
1099 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
1100 * <!-- begin-user-doc -->
1101 * <!-- end-user-doc -->
1102 * @see satellite.impl.PayloadImpl
1103 * @see satellite.impl.SatellitePackageImpl#getPayload()
1104 * @generated
1105 */
1106 EClass PAYLOAD = eINSTANCE.getPayload();
1107
1108 /**
1109 * The meta object literal for the '{@link satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
1110 * <!-- begin-user-doc -->
1111 * <!-- end-user-doc -->
1112 * @see satellite.impl.InterferometryPayloadImpl
1113 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload()
1114 * @generated
1115 */
1116 EClass INTERFEROMETRY_PAYLOAD = eINSTANCE.getInterferometryPayload();
1117
1118 /**
1119 * The meta object literal for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
1120 * <!-- begin-user-doc -->
1121 * <!-- end-user-doc -->
1122 * @see satellite.impl.CubeSat3UImpl
1123 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
1124 * @generated
1125 */
1126 EClass CUBE_SAT3_U = eINSTANCE.getCubeSat3U();
1127
1128 /**
1129 * The meta object literal for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
1130 * <!-- begin-user-doc -->
1131 * <!-- end-user-doc -->
1132 * @see satellite.impl.CubeSat6UImpl
1133 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U()
1134 * @generated
1135 */
1136 EClass CUBE_SAT6_U = eINSTANCE.getCubeSat6U();
1137
1138 /**
1139 * The meta object literal for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
1140 * <!-- begin-user-doc -->
1141 * <!-- end-user-doc -->
1142 * @see satellite.impl.SmallSatImpl
1143 * @see satellite.impl.SatellitePackageImpl#getSmallSat()
1144 * @generated
1145 */
1146 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1147
1148 /**
1149 * The meta object literal for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
1150 * <!-- begin-user-doc -->
1151 * <!-- end-user-doc -->
1152 * @see satellite.impl.CubeSatImpl
1153 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
1154 * @generated
1155 */
1156 EClass CUBE_SAT = eINSTANCE.getCubeSat();
1157
1158 /**
1159 * The meta object literal for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
1160 * <!-- begin-user-doc -->
1161 * <!-- end-user-doc -->
1162 * @see satellite.impl.UHFCommSubsystemImpl
1163 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
1164 * @generated
1165 */
1166 EClass UHF_COMM_SUBSYSTEM = eINSTANCE.getUHFCommSubsystem();
1167
1168 /**
1169 * The meta object literal for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
1170 * <!-- begin-user-doc -->
1171 * <!-- end-user-doc -->
1172 * @see satellite.impl.XCommSubsystemImpl
1173 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
1174 * @generated
1175 */
1176 EClass XCOMM_SUBSYSTEM = eINSTANCE.getXCommSubsystem();
1177
1178 /**
1179 * The meta object literal for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
1180 * <!-- begin-user-doc -->
1181 * <!-- end-user-doc -->
1182 * @see satellite.impl.KaCommSubsystemImpl
1183 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
1184 * @generated
1185 */
1186 EClass KA_COMM_SUBSYSTEM = eINSTANCE.getKaCommSubsystem();
1187
1188 }
1189
1190} //SatellitePackage
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SmallSat.java
new file mode 100644
index 00000000..230958f6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SmallSat.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Small Sat</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getSmallSat()
12 * @model
13 * @generated
14 */
15public interface SmallSat extends Spacecraft {
16} // SmallSat
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java
new file mode 100644
index 00000000..b0a2754e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java
@@ -0,0 +1,44 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>Spacecraft</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 * <p>
11 * The following features are supported:
12 * </p>
13 * <ul>
14 * <li>{@link satellite.Spacecraft#getPayload <em>Payload</em>}</li>
15 * </ul>
16 *
17 * @see satellite.SatellitePackage#getSpacecraft()
18 * @model abstract="true"
19 * @generated
20 */
21public interface Spacecraft extends CommunicatingElement {
22 /**
23 * Returns the value of the '<em><b>Payload</b></em>' containment reference.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @return the value of the '<em>Payload</em>' containment reference.
27 * @see #setPayload(Payload)
28 * @see satellite.SatellitePackage#getSpacecraft_Payload()
29 * @model containment="true"
30 * @generated
31 */
32 Payload getPayload();
33
34 /**
35 * Sets the value of the '{@link satellite.Spacecraft#getPayload <em>Payload</em>}' containment reference.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @param value the new value of the '<em>Payload</em>' containment reference.
39 * @see #getPayload()
40 * @generated
41 */
42 void setPayload(Payload value);
43
44} // Spacecraft
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java
new file mode 100644
index 00000000..76232414
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java
@@ -0,0 +1,230 @@
1/**
2 */
3package satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Spacecraft Kind</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see satellite.SatellitePackage#getSpacecraftKind()
17 * @model
18 * @generated
19 */
20public enum SpacecraftKind implements Enumerator {
21 /**
22 * The '<em><b>Cube Sat3 U</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #CUBE_SAT3_U_VALUE
26 * @generated
27 * @ordered
28 */
29 CUBE_SAT3_U(0, "CubeSat3U", "CubeSat3U"),
30
31 /**
32 * The '<em><b>Cube Sat6 U</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #CUBE_SAT6_U_VALUE
36 * @generated
37 * @ordered
38 */
39 CUBE_SAT6_U(1, "CubeSat6U", "CubeSat6U"),
40
41 /**
42 * The '<em><b>Small Sat</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #SMALL_SAT_VALUE
46 * @generated
47 * @ordered
48 */
49 SMALL_SAT(2, "SmallSat", "SmallSat");
50
51 /**
52 * The '<em><b>Cube Sat3 U</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #CUBE_SAT3_U
56 * @model name="CubeSat3U"
57 * @generated
58 * @ordered
59 */
60 public static final int CUBE_SAT3_U_VALUE = 0;
61
62 /**
63 * The '<em><b>Cube Sat6 U</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #CUBE_SAT6_U
67 * @model name="CubeSat6U"
68 * @generated
69 * @ordered
70 */
71 public static final int CUBE_SAT6_U_VALUE = 1;
72
73 /**
74 * The '<em><b>Small Sat</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #SMALL_SAT
78 * @model name="SmallSat"
79 * @generated
80 * @ordered
81 */
82 public static final int SMALL_SAT_VALUE = 2;
83
84 /**
85 * An array of all the '<em><b>Spacecraft Kind</b></em>' enumerators.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private static final SpacecraftKind[] VALUES_ARRAY = new SpacecraftKind[] { CUBE_SAT3_U, CUBE_SAT6_U, SMALL_SAT, };
91
92 /**
93 * A public read-only list of all the '<em><b>Spacecraft Kind</b></em>' enumerators.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public static final List<SpacecraftKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
99
100 /**
101 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified literal value.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param literal the literal.
105 * @return the matching enumerator or <code>null</code>.
106 * @generated
107 */
108 public static SpacecraftKind get(String literal) {
109 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
110 SpacecraftKind result = VALUES_ARRAY[i];
111 if (result.toString().equals(literal)) {
112 return result;
113 }
114 }
115 return null;
116 }
117
118 /**
119 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified name.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @param name the name.
123 * @return the matching enumerator or <code>null</code>.
124 * @generated
125 */
126 public static SpacecraftKind getByName(String name) {
127 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
128 SpacecraftKind result = VALUES_ARRAY[i];
129 if (result.getName().equals(name)) {
130 return result;
131 }
132 }
133 return null;
134 }
135
136 /**
137 * Returns the '<em><b>Spacecraft Kind</b></em>' literal with the specified integer value.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @param value the integer value.
141 * @return the matching enumerator or <code>null</code>.
142 * @generated
143 */
144 public static SpacecraftKind get(int value) {
145 switch (value) {
146 case CUBE_SAT3_U_VALUE:
147 return CUBE_SAT3_U;
148 case CUBE_SAT6_U_VALUE:
149 return CUBE_SAT6_U;
150 case SMALL_SAT_VALUE:
151 return SMALL_SAT;
152 }
153 return null;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 private final int value;
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 private final String name;
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final String literal;
176
177 /**
178 * Only this class can construct instances.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private SpacecraftKind(int value, String name, String literal) {
184 this.value = value;
185 this.name = name;
186 this.literal = literal;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public int getValue() {
196 return value;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public String getName() {
206 return name;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public String getLiteral() {
216 return literal;
217 }
218
219 /**
220 * Returns the literal value of the enumerator, which is its string representation.
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public String toString() {
227 return literal;
228 }
229
230} //SpacecraftKind
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java
new file mode 100644
index 00000000..9d8d5697
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java
@@ -0,0 +1,230 @@
1/**
2 */
3package satellite;
4
5import java.util.Arrays;
6import java.util.Collections;
7import java.util.List;
8
9import org.eclipse.emf.common.util.Enumerator;
10
11/**
12 * <!-- begin-user-doc -->
13 * A representation of the literals of the enumeration '<em><b>Transceiver Band</b></em>',
14 * and utility methods for working with them.
15 * <!-- end-user-doc -->
16 * @see satellite.SatellitePackage#getTransceiverBand()
17 * @model
18 * @generated
19 */
20public enum TransceiverBand implements Enumerator {
21 /**
22 * The '<em><b>UHF</b></em>' literal object.
23 * <!-- begin-user-doc -->
24 * <!-- end-user-doc -->
25 * @see #UHF_VALUE
26 * @generated
27 * @ordered
28 */
29 UHF(0, "UHF", "UHF"),
30
31 /**
32 * The '<em><b>X</b></em>' literal object.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #X_VALUE
36 * @generated
37 * @ordered
38 */
39 X(1, "X", "X"),
40
41 /**
42 * The '<em><b>Ka</b></em>' literal object.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #KA_VALUE
46 * @generated
47 * @ordered
48 */
49 KA(2, "Ka", "Ka");
50
51 /**
52 * The '<em><b>UHF</b></em>' literal value.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #UHF
56 * @model
57 * @generated
58 * @ordered
59 */
60 public static final int UHF_VALUE = 0;
61
62 /**
63 * The '<em><b>X</b></em>' literal value.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @see #X
67 * @model
68 * @generated
69 * @ordered
70 */
71 public static final int X_VALUE = 1;
72
73 /**
74 * The '<em><b>Ka</b></em>' literal value.
75 * <!-- begin-user-doc -->
76 * <!-- end-user-doc -->
77 * @see #KA
78 * @model name="Ka"
79 * @generated
80 * @ordered
81 */
82 public static final int KA_VALUE = 2;
83
84 /**
85 * An array of all the '<em><b>Transceiver Band</b></em>' enumerators.
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private static final TransceiverBand[] VALUES_ARRAY = new TransceiverBand[] { UHF, X, KA, };
91
92 /**
93 * A public read-only list of all the '<em><b>Transceiver Band</b></em>' enumerators.
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 public static final List<TransceiverBand> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
99
100 /**
101 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified literal value.
102 * <!-- begin-user-doc -->
103 * <!-- end-user-doc -->
104 * @param literal the literal.
105 * @return the matching enumerator or <code>null</code>.
106 * @generated
107 */
108 public static TransceiverBand get(String literal) {
109 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
110 TransceiverBand result = VALUES_ARRAY[i];
111 if (result.toString().equals(literal)) {
112 return result;
113 }
114 }
115 return null;
116 }
117
118 /**
119 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified name.
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @param name the name.
123 * @return the matching enumerator or <code>null</code>.
124 * @generated
125 */
126 public static TransceiverBand getByName(String name) {
127 for (int i = 0; i < VALUES_ARRAY.length; ++i) {
128 TransceiverBand result = VALUES_ARRAY[i];
129 if (result.getName().equals(name)) {
130 return result;
131 }
132 }
133 return null;
134 }
135
136 /**
137 * Returns the '<em><b>Transceiver Band</b></em>' literal with the specified integer value.
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @param value the integer value.
141 * @return the matching enumerator or <code>null</code>.
142 * @generated
143 */
144 public static TransceiverBand get(int value) {
145 switch (value) {
146 case UHF_VALUE:
147 return UHF;
148 case X_VALUE:
149 return X;
150 case KA_VALUE:
151 return KA;
152 }
153 return null;
154 }
155
156 /**
157 * <!-- begin-user-doc -->
158 * <!-- end-user-doc -->
159 * @generated
160 */
161 private final int value;
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 private final String name;
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 private final String literal;
176
177 /**
178 * Only this class can construct instances.
179 * <!-- begin-user-doc -->
180 * <!-- end-user-doc -->
181 * @generated
182 */
183 private TransceiverBand(int value, String name, String literal) {
184 this.value = value;
185 this.name = name;
186 this.literal = literal;
187 }
188
189 /**
190 * <!-- begin-user-doc -->
191 * <!-- end-user-doc -->
192 * @generated
193 */
194 @Override
195 public int getValue() {
196 return value;
197 }
198
199 /**
200 * <!-- begin-user-doc -->
201 * <!-- end-user-doc -->
202 * @generated
203 */
204 @Override
205 public String getName() {
206 return name;
207 }
208
209 /**
210 * <!-- begin-user-doc -->
211 * <!-- end-user-doc -->
212 * @generated
213 */
214 @Override
215 public String getLiteral() {
216 return literal;
217 }
218
219 /**
220 * Returns the literal value of the enumerator, which is its string representation.
221 * <!-- begin-user-doc -->
222 * <!-- end-user-doc -->
223 * @generated
224 */
225 @Override
226 public String toString() {
227 return literal;
228 }
229
230} //TransceiverBand
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java
new file mode 100644
index 00000000..5b36d6c7
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>UHF Comm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getUHFCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface UHFCommSubsystem extends CommSubsystem {
16} // UHFCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java
new file mode 100644
index 00000000..c2b0ecd5
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java
@@ -0,0 +1,16 @@
1/**
2 */
3package satellite;
4
5/**
6 * <!-- begin-user-doc -->
7 * A representation of the model object '<em><b>XComm Subsystem</b></em>'.
8 * <!-- end-user-doc -->
9 *
10 *
11 * @see satellite.SatellitePackage#getXCommSubsystem()
12 * @model
13 * @generated
14 */
15public interface XCommSubsystem extends CommSubsystem {
16} // XCommSubsystem
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
new file mode 100644
index 00000000..96a25d7c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
@@ -0,0 +1,287 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.InternalEObject;
8import org.eclipse.emf.ecore.impl.ENotificationImpl;
9import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
10import satellite.CommSubsystem;
11import satellite.SatellitePackage;
12
13/**
14 * <!-- begin-user-doc -->
15 * An implementation of the model object '<em><b>Comm Subsystem</b></em>'.
16 * <!-- end-user-doc -->
17 * <p>
18 * The following features are implemented:
19 * </p>
20 * <ul>
21 * <li>{@link satellite.impl.CommSubsystemImpl#getTarget <em>Target</em>}</li>
22 * <li>{@link satellite.impl.CommSubsystemImpl#getFrequency <em>Frequency</em>}</li>
23 * <li>{@link satellite.impl.CommSubsystemImpl#getPathLength <em>Path Length</em>}</li>
24 * </ul>
25 *
26 * @generated
27 */
28public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem {
29 /**
30 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
31 * <!-- begin-user-doc -->
32 * <!-- end-user-doc -->
33 * @see #getTarget()
34 * @generated
35 * @ordered
36 */
37 protected CommSubsystem target;
38
39 /**
40 * The default value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
41 * <!-- begin-user-doc -->
42 * <!-- end-user-doc -->
43 * @see #getFrequency()
44 * @generated
45 * @ordered
46 */
47 protected static final int FREQUENCY_EDEFAULT = 0;
48 /**
49 * The cached value of the '{@link #getFrequency() <em>Frequency</em>}' attribute.
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @see #getFrequency()
53 * @generated
54 * @ordered
55 */
56 protected int frequency = FREQUENCY_EDEFAULT;
57
58 /**
59 * The default value of the '{@link #getPathLength() <em>Path Length</em>}' attribute.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see #getPathLength()
63 * @generated
64 * @ordered
65 */
66 protected static final int PATH_LENGTH_EDEFAULT = 0;
67
68 /**
69 * The cached value of the '{@link #getPathLength() <em>Path Length</em>}' attribute.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @see #getPathLength()
73 * @generated
74 * @ordered
75 */
76 protected int pathLength = PATH_LENGTH_EDEFAULT;
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 protected CommSubsystemImpl() {
84 super();
85 }
86
87 /**
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 */
92 @Override
93 protected EClass eStaticClass() {
94 return SatellitePackage.Literals.COMM_SUBSYSTEM;
95 }
96
97 /**
98 * <!-- begin-user-doc -->
99 * <!-- end-user-doc -->
100 * @generated
101 */
102 @Override
103 public CommSubsystem getTarget() {
104 if (target != null && target.eIsProxy()) {
105 InternalEObject oldTarget = (InternalEObject) target;
106 target = (CommSubsystem) eResolveProxy(oldTarget);
107 if (target != oldTarget) {
108 if (eNotificationRequired())
109 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SatellitePackage.COMM_SUBSYSTEM__TARGET,
110 oldTarget, target));
111 }
112 }
113 return target;
114 }
115
116 /**
117 * <!-- begin-user-doc -->
118 * <!-- end-user-doc -->
119 * @generated
120 */
121 public CommSubsystem basicGetTarget() {
122 return target;
123 }
124
125 /**
126 * <!-- begin-user-doc -->
127 * <!-- end-user-doc -->
128 * @generated
129 */
130 @Override
131 public void setTarget(CommSubsystem newTarget) {
132 CommSubsystem oldTarget = target;
133 target = newTarget;
134 if (eNotificationRequired())
135 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget,
136 target));
137 }
138
139 /**
140 * <!-- begin-user-doc -->
141 * <!-- end-user-doc -->
142 * @generated
143 */
144 @Override
145 public int getFrequency() {
146 return frequency;
147 }
148
149 /**
150 * <!-- begin-user-doc -->
151 * <!-- end-user-doc -->
152 * @generated
153 */
154 @Override
155 public void setFrequency(int newFrequency) {
156 int oldFrequency = frequency;
157 frequency = newFrequency;
158 if (eNotificationRequired())
159 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__FREQUENCY,
160 oldFrequency, frequency));
161 }
162
163 /**
164 * <!-- begin-user-doc -->
165 * <!-- end-user-doc -->
166 * @generated
167 */
168 @Override
169 public int getPathLength() {
170 return pathLength;
171 }
172
173 /**
174 * <!-- begin-user-doc -->
175 * <!-- end-user-doc -->
176 * @generated
177 */
178 @Override
179 public void setPathLength(int newPathLength) {
180 int oldPathLength = pathLength;
181 pathLength = newPathLength;
182 if (eNotificationRequired())
183 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH,
184 oldPathLength, pathLength));
185 }
186
187 /**
188 * <!-- begin-user-doc -->
189 * <!-- end-user-doc -->
190 * @generated
191 */
192 @Override
193 public Object eGet(int featureID, boolean resolve, boolean coreType) {
194 switch (featureID) {
195 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
196 if (resolve)
197 return getTarget();
198 return basicGetTarget();
199 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
200 return getFrequency();
201 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
202 return getPathLength();
203 }
204 return super.eGet(featureID, resolve, coreType);
205 }
206
207 /**
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 */
212 @SuppressWarnings("unchecked")
213 @Override
214 public void eSet(int featureID, Object newValue) {
215 switch (featureID) {
216 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
217 setTarget((CommSubsystem) newValue);
218 return;
219 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
220 setFrequency((Integer) newValue);
221 return;
222 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
223 setPathLength((Integer) newValue);
224 return;
225 }
226 super.eSet(featureID, newValue);
227 }
228
229 /**
230 * <!-- begin-user-doc -->
231 * <!-- end-user-doc -->
232 * @generated
233 */
234 @Override
235 public void eUnset(int featureID) {
236 switch (featureID) {
237 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
238 setTarget((CommSubsystem) null);
239 return;
240 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
241 setFrequency(FREQUENCY_EDEFAULT);
242 return;
243 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
244 setPathLength(PATH_LENGTH_EDEFAULT);
245 return;
246 }
247 super.eUnset(featureID);
248 }
249
250 /**
251 * <!-- begin-user-doc -->
252 * <!-- end-user-doc -->
253 * @generated
254 */
255 @Override
256 public boolean eIsSet(int featureID) {
257 switch (featureID) {
258 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
259 return target != null;
260 case SatellitePackage.COMM_SUBSYSTEM__FREQUENCY:
261 return frequency != FREQUENCY_EDEFAULT;
262 case SatellitePackage.COMM_SUBSYSTEM__PATH_LENGTH:
263 return pathLength != PATH_LENGTH_EDEFAULT;
264 }
265 return super.eIsSet(featureID);
266 }
267
268 /**
269 * <!-- begin-user-doc -->
270 * <!-- end-user-doc -->
271 * @generated
272 */
273 @Override
274 public String toString() {
275 if (eIsProxy())
276 return super.toString();
277
278 StringBuilder result = new StringBuilder(super.toString());
279 result.append(" (frequency: ");
280 result.append(frequency);
281 result.append(", pathLength: ");
282 result.append(pathLength);
283 result.append(')');
284 return result.toString();
285 }
286
287} //CommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
new file mode 100644
index 00000000..d44547d3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java
@@ -0,0 +1,152 @@
1/**
2 */
3package satellite.impl;
4
5import java.util.Collection;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.common.util.EList;
9
10import org.eclipse.emf.ecore.EClass;
11import org.eclipse.emf.ecore.InternalEObject;
12import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
13
14import org.eclipse.emf.ecore.util.EObjectContainmentEList;
15import org.eclipse.emf.ecore.util.InternalEList;
16
17import satellite.CommSubsystem;
18import satellite.CommunicatingElement;
19import satellite.SatellitePackage;
20
21/**
22 * <!-- begin-user-doc -->
23 * An implementation of the model object '<em><b>Communicating Element</b></em>'.
24 * <!-- end-user-doc -->
25 * <p>
26 * The following features are implemented:
27 * </p>
28 * <ul>
29 * <li>{@link satellite.impl.CommunicatingElementImpl#getCommSubsystem <em>Comm Subsystem</em>}</li>
30 * </ul>
31 *
32 * @generated
33 */
34public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Container implements CommunicatingElement {
35 /**
36 * The cached value of the '{@link #getCommSubsystem() <em>Comm Subsystem</em>}' containment reference list.
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @see #getCommSubsystem()
40 * @generated
41 * @ordered
42 */
43 protected EList<CommSubsystem> commSubsystem;
44
45 /**
46 * <!-- begin-user-doc -->
47 * <!-- end-user-doc -->
48 * @generated
49 */
50 protected CommunicatingElementImpl() {
51 super();
52 }
53
54 /**
55 * <!-- begin-user-doc -->
56 * <!-- end-user-doc -->
57 * @generated
58 */
59 @Override
60 protected EClass eStaticClass() {
61 return SatellitePackage.Literals.COMMUNICATING_ELEMENT;
62 }
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 @Override
70 public EList<CommSubsystem> getCommSubsystem() {
71 if (commSubsystem == null) {
72 commSubsystem = new EObjectContainmentEList<CommSubsystem>(CommSubsystem.class, this,
73 SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
74 }
75 return commSubsystem;
76 }
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 @Override
84 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
85 switch (featureID) {
86 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
87 return ((InternalEList<?>) getCommSubsystem()).basicRemove(otherEnd, msgs);
88 }
89 return super.eInverseRemove(otherEnd, featureID, msgs);
90 }
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 @Override
98 public Object eGet(int featureID, boolean resolve, boolean coreType) {
99 switch (featureID) {
100 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
101 return getCommSubsystem();
102 }
103 return super.eGet(featureID, resolve, coreType);
104 }
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 @SuppressWarnings("unchecked")
112 @Override
113 public void eSet(int featureID, Object newValue) {
114 switch (featureID) {
115 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
116 getCommSubsystem().clear();
117 getCommSubsystem().addAll((Collection<? extends CommSubsystem>) newValue);
118 return;
119 }
120 super.eSet(featureID, newValue);
121 }
122
123 /**
124 * <!-- begin-user-doc -->
125 * <!-- end-user-doc -->
126 * @generated
127 */
128 @Override
129 public void eUnset(int featureID) {
130 switch (featureID) {
131 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
132 getCommSubsystem().clear();
133 return;
134 }
135 super.eUnset(featureID);
136 }
137
138 /**
139 * <!-- begin-user-doc -->
140 * <!-- end-user-doc -->
141 * @generated
142 */
143 @Override
144 public boolean eIsSet(int featureID) {
145 switch (featureID) {
146 case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM:
147 return commSubsystem != null && !commSubsystem.isEmpty();
148 }
149 return super.eIsSet(featureID);
150 }
151
152} //CommunicatingElementImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/ConstellationMissionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/ConstellationMissionImpl.java
new file mode 100644
index 00000000..7635d7cd
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/ConstellationMissionImpl.java
@@ -0,0 +1,237 @@
1/**
2 */
3package satellite.impl;
4
5import java.util.Collection;
6
7import org.eclipse.emf.common.notify.Notification;
8import org.eclipse.emf.common.notify.NotificationChain;
9
10import org.eclipse.emf.common.util.EList;
11
12import org.eclipse.emf.ecore.EClass;
13import org.eclipse.emf.ecore.InternalEObject;
14
15import org.eclipse.emf.ecore.impl.ENotificationImpl;
16import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
17
18import org.eclipse.emf.ecore.util.EObjectContainmentEList;
19import org.eclipse.emf.ecore.util.InternalEList;
20
21import satellite.ConstellationMission;
22import satellite.GroundStationNetwork;
23import satellite.SatellitePackage;
24import satellite.Spacecraft;
25
26/**
27 * <!-- begin-user-doc -->
28 * An implementation of the model object '<em><b>Constellation Mission</b></em>'.
29 * <!-- end-user-doc -->
30 * <p>
31 * The following features are implemented:
32 * </p>
33 * <ul>
34 * <li>{@link satellite.impl.ConstellationMissionImpl#getGroundStationNetwork <em>Ground Station Network</em>}</li>
35 * <li>{@link satellite.impl.ConstellationMissionImpl#getSpacecraft <em>Spacecraft</em>}</li>
36 * </ul>
37 *
38 * @generated
39 */
40public abstract class ConstellationMissionImpl extends MinimalEObjectImpl.Container implements ConstellationMission {
41 /**
42 * The cached value of the '{@link #getGroundStationNetwork() <em>Ground Station Network</em>}' containment reference.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @see #getGroundStationNetwork()
46 * @generated
47 * @ordered
48 */
49 protected GroundStationNetwork groundStationNetwork;
50
51 /**
52 * The cached value of the '{@link #getSpacecraft() <em>Spacecraft</em>}' containment reference list.
53 * <!-- begin-user-doc -->
54 * <!-- end-user-doc -->
55 * @see #getSpacecraft()
56 * @generated
57 * @ordered
58 */
59 protected EList<Spacecraft> spacecraft;
60
61 /**
62 * <!-- begin-user-doc -->
63 * <!-- end-user-doc -->
64 * @generated
65 */
66 protected ConstellationMissionImpl() {
67 super();
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 @Override
76 protected EClass eStaticClass() {
77 return SatellitePackage.Literals.CONSTELLATION_MISSION;
78 }
79
80 /**
81 * <!-- begin-user-doc -->
82 * <!-- end-user-doc -->
83 * @generated
84 */
85 @Override
86 public GroundStationNetwork getGroundStationNetwork() {
87 return groundStationNetwork;
88 }
89
90 /**
91 * <!-- begin-user-doc -->
92 * <!-- end-user-doc -->
93 * @generated
94 */
95 public NotificationChain basicSetGroundStationNetwork(GroundStationNetwork newGroundStationNetwork,
96 NotificationChain msgs) {
97 GroundStationNetwork oldGroundStationNetwork = groundStationNetwork;
98 groundStationNetwork = newGroundStationNetwork;
99 if (eNotificationRequired()) {
100 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
101 SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, oldGroundStationNetwork,
102 newGroundStationNetwork);
103 if (msgs == null)
104 msgs = notification;
105 else
106 msgs.add(notification);
107 }
108 return msgs;
109 }
110
111 /**
112 * <!-- begin-user-doc -->
113 * <!-- end-user-doc -->
114 * @generated
115 */
116 @Override
117 public void setGroundStationNetwork(GroundStationNetwork newGroundStationNetwork) {
118 if (newGroundStationNetwork != groundStationNetwork) {
119 NotificationChain msgs = null;
120 if (groundStationNetwork != null)
121 msgs = ((InternalEObject) groundStationNetwork).eInverseRemove(this,
122 EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null,
123 msgs);
124 if (newGroundStationNetwork != null)
125 msgs = ((InternalEObject) newGroundStationNetwork).eInverseAdd(this,
126 EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null,
127 msgs);
128 msgs = basicSetGroundStationNetwork(newGroundStationNetwork, msgs);
129 if (msgs != null)
130 msgs.dispatch();
131 } else if (eNotificationRequired())
132 eNotify(new ENotificationImpl(this, Notification.SET,
133 SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, newGroundStationNetwork,
134 newGroundStationNetwork));
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public EList<Spacecraft> getSpacecraft() {
144 if (spacecraft == null) {
145 spacecraft = new EObjectContainmentEList<Spacecraft>(Spacecraft.class, this,
146 SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT);
147 }
148 return spacecraft;
149 }
150
151 /**
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @generated
155 */
156 @Override
157 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
158 switch (featureID) {
159 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
160 return basicSetGroundStationNetwork(null, msgs);
161 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
162 return ((InternalEList<?>) getSpacecraft()).basicRemove(otherEnd, msgs);
163 }
164 return super.eInverseRemove(otherEnd, featureID, msgs);
165 }
166
167 /**
168 * <!-- begin-user-doc -->
169 * <!-- end-user-doc -->
170 * @generated
171 */
172 @Override
173 public Object eGet(int featureID, boolean resolve, boolean coreType) {
174 switch (featureID) {
175 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
176 return getGroundStationNetwork();
177 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
178 return getSpacecraft();
179 }
180 return super.eGet(featureID, resolve, coreType);
181 }
182
183 /**
184 * <!-- begin-user-doc -->
185 * <!-- end-user-doc -->
186 * @generated
187 */
188 @SuppressWarnings("unchecked")
189 @Override
190 public void eSet(int featureID, Object newValue) {
191 switch (featureID) {
192 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
193 setGroundStationNetwork((GroundStationNetwork) newValue);
194 return;
195 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
196 getSpacecraft().clear();
197 getSpacecraft().addAll((Collection<? extends Spacecraft>) newValue);
198 return;
199 }
200 super.eSet(featureID, newValue);
201 }
202
203 /**
204 * <!-- begin-user-doc -->
205 * <!-- end-user-doc -->
206 * @generated
207 */
208 @Override
209 public void eUnset(int featureID) {
210 switch (featureID) {
211 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
212 setGroundStationNetwork((GroundStationNetwork) null);
213 return;
214 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
215 getSpacecraft().clear();
216 return;
217 }
218 super.eUnset(featureID);
219 }
220
221 /**
222 * <!-- begin-user-doc -->
223 * <!-- end-user-doc -->
224 * @generated
225 */
226 @Override
227 public boolean eIsSet(int featureID) {
228 switch (featureID) {
229 case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK:
230 return groundStationNetwork != null;
231 case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT:
232 return spacecraft != null && !spacecraft.isEmpty();
233 }
234 return super.eIsSet(featureID);
235 }
236
237} //ConstellationMissionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java
new file mode 100644
index 00000000..350a9bcc
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.CubeSat3U;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat3 U</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSat3UImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT3_U;
35 }
36
37} //CubeSat3UImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java
new file mode 100644
index 00000000..3b9c5988
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.CubeSat6U;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat6 U</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSat6UImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT6_U;
35 }
36
37} //CubeSat6UImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java
new file mode 100644
index 00000000..660bd062
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.CubeSat;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Cube Sat</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public abstract class CubeSatImpl extends SpacecraftImpl implements CubeSat {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected CubeSatImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.CUBE_SAT;
35 }
36
37} //CubeSatImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/GroundStationNetworkImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/GroundStationNetworkImpl.java
new file mode 100644
index 00000000..244b9568
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/GroundStationNetworkImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.GroundStationNetwork;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Ground Station Network</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class GroundStationNetworkImpl extends CommunicatingElementImpl implements GroundStationNetwork {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected GroundStationNetworkImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.GROUND_STATION_NETWORK;
35 }
36
37} //GroundStationNetworkImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryMissionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryMissionImpl.java
new file mode 100644
index 00000000..450f8a9a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryMissionImpl.java
@@ -0,0 +1,36 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import satellite.InterferometryMission;
7import satellite.SatellitePackage;
8
9/**
10 * <!-- begin-user-doc -->
11 * An implementation of the model object '<em><b>Interferometry Mission</b></em>'.
12 * <!-- end-user-doc -->
13 *
14 * @generated
15 */
16public class InterferometryMissionImpl extends ConstellationMissionImpl implements InterferometryMission {
17 /**
18 * <!-- begin-user-doc -->
19 * <!-- end-user-doc -->
20 * @generated
21 */
22 protected InterferometryMissionImpl() {
23 super();
24 }
25
26 /**
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @generated
30 */
31 @Override
32 protected EClass eStaticClass() {
33 return SatellitePackage.Literals.INTERFEROMETRY_MISSION;
34 }
35
36} //InterferometryMissionImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryPayloadImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryPayloadImpl.java
new file mode 100644
index 00000000..c8f9e816
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryPayloadImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.InterferometryPayload;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Interferometry Payload</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class InterferometryPayloadImpl extends PayloadImpl implements InterferometryPayload {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected InterferometryPayloadImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.INTERFEROMETRY_PAYLOAD;
35 }
36
37} //InterferometryPayloadImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java
new file mode 100644
index 00000000..3f4fc432
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.KaCommSubsystem;
8import satellite.SatellitePackage;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Ka Comm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class KaCommSubsystemImpl extends CommSubsystemImpl implements KaCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected KaCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.KA_COMM_SUBSYSTEM;
35 }
36
37} //KaCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/PayloadImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/PayloadImpl.java
new file mode 100644
index 00000000..6ee96353
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/PayloadImpl.java
@@ -0,0 +1,39 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
8
9import satellite.Payload;
10import satellite.SatellitePackage;
11
12/**
13 * <!-- begin-user-doc -->
14 * An implementation of the model object '<em><b>Payload</b></em>'.
15 * <!-- end-user-doc -->
16 *
17 * @generated
18 */
19public abstract class PayloadImpl extends MinimalEObjectImpl.Container implements Payload {
20 /**
21 * <!-- begin-user-doc -->
22 * <!-- end-user-doc -->
23 * @generated
24 */
25 protected PayloadImpl() {
26 super();
27 }
28
29 /**
30 * <!-- begin-user-doc -->
31 * <!-- end-user-doc -->
32 * @generated
33 */
34 @Override
35 protected EClass eStaticClass() {
36 return SatellitePackage.Literals.PAYLOAD;
37 }
38
39} //PayloadImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java
new file mode 100644
index 00000000..71e16abf
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java
@@ -0,0 +1,202 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.emf.ecore.EPackage;
8
9import org.eclipse.emf.ecore.impl.EFactoryImpl;
10
11import org.eclipse.emf.ecore.plugin.EcorePlugin;
12
13import satellite.*;
14
15/**
16 * <!-- begin-user-doc -->
17 * An implementation of the model <b>Factory</b>.
18 * <!-- end-user-doc -->
19 * @generated
20 */
21public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFactory {
22 /**
23 * Creates the default factory implementation.
24 * <!-- begin-user-doc -->
25 * <!-- end-user-doc -->
26 * @generated
27 */
28 public static SatelliteFactory init() {
29 try {
30 SatelliteFactory theSatelliteFactory = (SatelliteFactory) EPackage.Registry.INSTANCE
31 .getEFactory(SatellitePackage.eNS_URI);
32 if (theSatelliteFactory != null) {
33 return theSatelliteFactory;
34 }
35 } catch (Exception exception) {
36 EcorePlugin.INSTANCE.log(exception);
37 }
38 return new SatelliteFactoryImpl();
39 }
40
41 /**
42 * Creates an instance of the factory.
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 public SatelliteFactoryImpl() {
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 SatellitePackage.INTERFEROMETRY_MISSION:
60 return createInterferometryMission();
61 case SatellitePackage.GROUND_STATION_NETWORK:
62 return createGroundStationNetwork();
63 case SatellitePackage.INTERFEROMETRY_PAYLOAD:
64 return createInterferometryPayload();
65 case SatellitePackage.CUBE_SAT3_U:
66 return createCubeSat3U();
67 case SatellitePackage.CUBE_SAT6_U:
68 return createCubeSat6U();
69 case SatellitePackage.SMALL_SAT:
70 return createSmallSat();
71 case SatellitePackage.UHF_COMM_SUBSYSTEM:
72 return createUHFCommSubsystem();
73 case SatellitePackage.XCOMM_SUBSYSTEM:
74 return createXCommSubsystem();
75 case SatellitePackage.KA_COMM_SUBSYSTEM:
76 return createKaCommSubsystem();
77 default:
78 throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
79 }
80 }
81
82 /**
83 * <!-- begin-user-doc -->
84 * <!-- end-user-doc -->
85 * @generated
86 */
87 @Override
88 public InterferometryMission createInterferometryMission() {
89 InterferometryMissionImpl interferometryMission = new InterferometryMissionImpl();
90 return interferometryMission;
91 }
92
93 /**
94 * <!-- begin-user-doc -->
95 * <!-- end-user-doc -->
96 * @generated
97 */
98 @Override
99 public GroundStationNetwork createGroundStationNetwork() {
100 GroundStationNetworkImpl groundStationNetwork = new GroundStationNetworkImpl();
101 return groundStationNetwork;
102 }
103
104 /**
105 * <!-- begin-user-doc -->
106 * <!-- end-user-doc -->
107 * @generated
108 */
109 @Override
110 public InterferometryPayload createInterferometryPayload() {
111 InterferometryPayloadImpl interferometryPayload = new InterferometryPayloadImpl();
112 return interferometryPayload;
113 }
114
115 /**
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 */
120 @Override
121 public CubeSat3U createCubeSat3U() {
122 CubeSat3UImpl cubeSat3U = new CubeSat3UImpl();
123 return cubeSat3U;
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public CubeSat6U createCubeSat6U() {
133 CubeSat6UImpl cubeSat6U = new CubeSat6UImpl();
134 return cubeSat6U;
135 }
136
137 /**
138 * <!-- begin-user-doc -->
139 * <!-- end-user-doc -->
140 * @generated
141 */
142 @Override
143 public SmallSat createSmallSat() {
144 SmallSatImpl smallSat = new SmallSatImpl();
145 return smallSat;
146 }
147
148 /**
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @generated
152 */
153 @Override
154 public UHFCommSubsystem createUHFCommSubsystem() {
155 UHFCommSubsystemImpl uhfCommSubsystem = new UHFCommSubsystemImpl();
156 return uhfCommSubsystem;
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 @Override
165 public XCommSubsystem createXCommSubsystem() {
166 XCommSubsystemImpl xCommSubsystem = new XCommSubsystemImpl();
167 return xCommSubsystem;
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public KaCommSubsystem createKaCommSubsystem() {
177 KaCommSubsystemImpl kaCommSubsystem = new KaCommSubsystemImpl();
178 return kaCommSubsystem;
179 }
180
181 /**
182 * <!-- begin-user-doc -->
183 * <!-- end-user-doc -->
184 * @generated
185 */
186 @Override
187 public SatellitePackage getSatellitePackage() {
188 return (SatellitePackage) getEPackage();
189 }
190
191 /**
192 * <!-- begin-user-doc -->
193 * <!-- end-user-doc -->
194 * @deprecated
195 * @generated
196 */
197 @Deprecated
198 public static SatellitePackage getPackage() {
199 return SatellitePackage.eINSTANCE;
200 }
201
202} //SatelliteFactoryImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
new file mode 100644
index 00000000..39a6075f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
@@ -0,0 +1,603 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EAttribute;
6import org.eclipse.emf.ecore.EClass;
7import org.eclipse.emf.ecore.EPackage;
8import org.eclipse.emf.ecore.EReference;
9
10import org.eclipse.emf.ecore.impl.EPackageImpl;
11import satellite.CommSubsystem;
12import satellite.CommunicatingElement;
13import satellite.ConstellationMission;
14import satellite.CubeSat;
15import satellite.CubeSat3U;
16import satellite.CubeSat6U;
17import satellite.GroundStationNetwork;
18import satellite.InterferometryMission;
19import satellite.InterferometryPayload;
20import satellite.KaCommSubsystem;
21import satellite.Payload;
22import satellite.SatelliteFactory;
23import satellite.SatellitePackage;
24import satellite.SmallSat;
25import satellite.Spacecraft;
26import satellite.UHFCommSubsystem;
27import satellite.XCommSubsystem;
28
29/**
30 * <!-- begin-user-doc -->
31 * An implementation of the model <b>Package</b>.
32 * <!-- end-user-doc -->
33 * @generated
34 */
35public class SatellitePackageImpl extends EPackageImpl implements SatellitePackage {
36 /**
37 * <!-- begin-user-doc -->
38 * <!-- end-user-doc -->
39 * @generated
40 */
41 private EClass constellationMissionEClass = null;
42
43 /**
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 private EClass interferometryMissionEClass = null;
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 private EClass communicatingElementEClass = null;
56
57 /**
58 * <!-- begin-user-doc -->
59 * <!-- end-user-doc -->
60 * @generated
61 */
62 private EClass groundStationNetworkEClass = null;
63
64 /**
65 * <!-- begin-user-doc -->
66 * <!-- end-user-doc -->
67 * @generated
68 */
69 private EClass spacecraftEClass = null;
70
71 /**
72 * <!-- begin-user-doc -->
73 * <!-- end-user-doc -->
74 * @generated
75 */
76 private EClass commSubsystemEClass = null;
77
78 /**
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 */
83 private EClass payloadEClass = null;
84
85 /**
86 * <!-- begin-user-doc -->
87 * <!-- end-user-doc -->
88 * @generated
89 */
90 private EClass interferometryPayloadEClass = null;
91
92 /**
93 * <!-- begin-user-doc -->
94 * <!-- end-user-doc -->
95 * @generated
96 */
97 private EClass cubeSat3UEClass = null;
98
99 /**
100 * <!-- begin-user-doc -->
101 * <!-- end-user-doc -->
102 * @generated
103 */
104 private EClass cubeSat6UEClass = null;
105
106 /**
107 * <!-- begin-user-doc -->
108 * <!-- end-user-doc -->
109 * @generated
110 */
111 private EClass smallSatEClass = null;
112
113 /**
114 * <!-- begin-user-doc -->
115 * <!-- end-user-doc -->
116 * @generated
117 */
118 private EClass cubeSatEClass = null;
119
120 /**
121 * <!-- begin-user-doc -->
122 * <!-- end-user-doc -->
123 * @generated
124 */
125 private EClass uhfCommSubsystemEClass = null;
126
127 /**
128 * <!-- begin-user-doc -->
129 * <!-- end-user-doc -->
130 * @generated
131 */
132 private EClass xCommSubsystemEClass = null;
133
134 /**
135 * <!-- begin-user-doc -->
136 * <!-- end-user-doc -->
137 * @generated
138 */
139 private EClass kaCommSubsystemEClass = null;
140
141 /**
142 * Creates an instance of the model <b>Package</b>, registered with
143 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
144 * package URI value.
145 * <p>Note: the correct way to create the package is via the static
146 * factory method {@link #init init()}, which also performs
147 * initialization of the package, or returns the registered package,
148 * if one already exists.
149 * <!-- begin-user-doc -->
150 * <!-- end-user-doc -->
151 * @see org.eclipse.emf.ecore.EPackage.Registry
152 * @see satellite.SatellitePackage#eNS_URI
153 * @see #init()
154 * @generated
155 */
156 private SatellitePackageImpl() {
157 super(eNS_URI, SatelliteFactory.eINSTANCE);
158 }
159
160 /**
161 * <!-- begin-user-doc -->
162 * <!-- end-user-doc -->
163 * @generated
164 */
165 private static boolean isInited = false;
166
167 /**
168 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
169 *
170 * <p>This method is used to initialize {@link SatellitePackage#eINSTANCE} when that field is accessed.
171 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
172 * <!-- begin-user-doc -->
173 * <!-- end-user-doc -->
174 * @see #eNS_URI
175 * @see #createPackageContents()
176 * @see #initializePackageContents()
177 * @generated
178 */
179 public static SatellitePackage init() {
180 if (isInited)
181 return (SatellitePackage) EPackage.Registry.INSTANCE.getEPackage(SatellitePackage.eNS_URI);
182
183 // Obtain or create and register package
184 Object registeredSatellitePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
185 SatellitePackageImpl theSatellitePackage = registeredSatellitePackage instanceof SatellitePackageImpl
186 ? (SatellitePackageImpl) registeredSatellitePackage
187 : new SatellitePackageImpl();
188
189 isInited = true;
190
191 // Create package meta-data objects
192 theSatellitePackage.createPackageContents();
193
194 // Initialize created meta-data
195 theSatellitePackage.initializePackageContents();
196
197 // Mark meta-data to indicate it can't be changed
198 theSatellitePackage.freeze();
199
200 // Update the registry and return the package
201 EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, theSatellitePackage);
202 return theSatellitePackage;
203 }
204
205 /**
206 * <!-- begin-user-doc -->
207 * <!-- end-user-doc -->
208 * @generated
209 */
210 @Override
211 public EClass getConstellationMission() {
212 return constellationMissionEClass;
213 }
214
215 /**
216 * <!-- begin-user-doc -->
217 * <!-- end-user-doc -->
218 * @generated
219 */
220 @Override
221 public EReference getConstellationMission_GroundStationNetwork() {
222 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(0);
223 }
224
225 /**
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @generated
229 */
230 @Override
231 public EReference getConstellationMission_Spacecraft() {
232 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(1);
233 }
234
235 /**
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 */
240 @Override
241 public EClass getInterferometryMission() {
242 return interferometryMissionEClass;
243 }
244
245 /**
246 * <!-- begin-user-doc -->
247 * <!-- end-user-doc -->
248 * @generated
249 */
250 @Override
251 public EClass getCommunicatingElement() {
252 return communicatingElementEClass;
253 }
254
255 /**
256 * <!-- begin-user-doc -->
257 * <!-- end-user-doc -->
258 * @generated
259 */
260 @Override
261 public EReference getCommunicatingElement_CommSubsystem() {
262 return (EReference) communicatingElementEClass.getEStructuralFeatures().get(0);
263 }
264
265 /**
266 * <!-- begin-user-doc -->
267 * <!-- end-user-doc -->
268 * @generated
269 */
270 @Override
271 public EClass getGroundStationNetwork() {
272 return groundStationNetworkEClass;
273 }
274
275 /**
276 * <!-- begin-user-doc -->
277 * <!-- end-user-doc -->
278 * @generated
279 */
280 @Override
281 public EClass getSpacecraft() {
282 return spacecraftEClass;
283 }
284
285 /**
286 * <!-- begin-user-doc -->
287 * <!-- end-user-doc -->
288 * @generated
289 */
290 @Override
291 public EReference getSpacecraft_Payload() {
292 return (EReference) spacecraftEClass.getEStructuralFeatures().get(0);
293 }
294
295 /**
296 * <!-- begin-user-doc -->
297 * <!-- end-user-doc -->
298 * @generated
299 */
300 @Override
301 public EClass getCommSubsystem() {
302 return commSubsystemEClass;
303 }
304
305 /**
306 * <!-- begin-user-doc -->
307 * <!-- end-user-doc -->
308 * @generated
309 */
310 @Override
311 public EReference getCommSubsystem_Target() {
312 return (EReference) commSubsystemEClass.getEStructuralFeatures().get(0);
313 }
314
315 /**
316 * <!-- begin-user-doc -->
317 * <!-- end-user-doc -->
318 * @generated
319 */
320 @Override
321 public EAttribute getCommSubsystem_Frequency() {
322 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1);
323 }
324
325 /**
326 * <!-- begin-user-doc -->
327 * <!-- end-user-doc -->
328 * @generated
329 */
330 @Override
331 public EAttribute getCommSubsystem_PathLength() {
332 return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(2);
333 }
334
335 /**
336 * <!-- begin-user-doc -->
337 * <!-- end-user-doc -->
338 * @generated
339 */
340 @Override
341 public EClass getPayload() {
342 return payloadEClass;
343 }
344
345 /**
346 * <!-- begin-user-doc -->
347 * <!-- end-user-doc -->
348 * @generated
349 */
350 @Override
351 public EClass getInterferometryPayload() {
352 return interferometryPayloadEClass;
353 }
354
355 /**
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 */
360 @Override
361 public EClass getCubeSat3U() {
362 return cubeSat3UEClass;
363 }
364
365 /**
366 * <!-- begin-user-doc -->
367 * <!-- end-user-doc -->
368 * @generated
369 */
370 @Override
371 public EClass getCubeSat6U() {
372 return cubeSat6UEClass;
373 }
374
375 /**
376 * <!-- begin-user-doc -->
377 * <!-- end-user-doc -->
378 * @generated
379 */
380 @Override
381 public EClass getSmallSat() {
382 return smallSatEClass;
383 }
384
385 /**
386 * <!-- begin-user-doc -->
387 * <!-- end-user-doc -->
388 * @generated
389 */
390 @Override
391 public EClass getCubeSat() {
392 return cubeSatEClass;
393 }
394
395 /**
396 * <!-- begin-user-doc -->
397 * <!-- end-user-doc -->
398 * @generated
399 */
400 @Override
401 public EClass getUHFCommSubsystem() {
402 return uhfCommSubsystemEClass;
403 }
404
405 /**
406 * <!-- begin-user-doc -->
407 * <!-- end-user-doc -->
408 * @generated
409 */
410 @Override
411 public EClass getXCommSubsystem() {
412 return xCommSubsystemEClass;
413 }
414
415 /**
416 * <!-- begin-user-doc -->
417 * <!-- end-user-doc -->
418 * @generated
419 */
420 @Override
421 public EClass getKaCommSubsystem() {
422 return kaCommSubsystemEClass;
423 }
424
425 /**
426 * <!-- begin-user-doc -->
427 * <!-- end-user-doc -->
428 * @generated
429 */
430 @Override
431 public SatelliteFactory getSatelliteFactory() {
432 return (SatelliteFactory) getEFactoryInstance();
433 }
434
435 /**
436 * <!-- begin-user-doc -->
437 * <!-- end-user-doc -->
438 * @generated
439 */
440 private boolean isCreated = false;
441
442 /**
443 * Creates the meta-model objects for the package. This method is
444 * guarded to have no affect on any invocation but its first.
445 * <!-- begin-user-doc -->
446 * <!-- end-user-doc -->
447 * @generated
448 */
449 public void createPackageContents() {
450 if (isCreated)
451 return;
452 isCreated = true;
453
454 // Create classes and their features
455 constellationMissionEClass = createEClass(CONSTELLATION_MISSION);
456 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__GROUND_STATION_NETWORK);
457 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__SPACECRAFT);
458
459 interferometryMissionEClass = createEClass(INTERFEROMETRY_MISSION);
460
461 communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT);
462 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
463
464 groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK);
465
466 spacecraftEClass = createEClass(SPACECRAFT);
467 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD);
468
469 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
470 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET);
471 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__FREQUENCY);
472 createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__PATH_LENGTH);
473
474 payloadEClass = createEClass(PAYLOAD);
475
476 interferometryPayloadEClass = createEClass(INTERFEROMETRY_PAYLOAD);
477
478 cubeSat3UEClass = createEClass(CUBE_SAT3_U);
479
480 cubeSat6UEClass = createEClass(CUBE_SAT6_U);
481
482 smallSatEClass = createEClass(SMALL_SAT);
483
484 cubeSatEClass = createEClass(CUBE_SAT);
485
486 uhfCommSubsystemEClass = createEClass(UHF_COMM_SUBSYSTEM);
487
488 xCommSubsystemEClass = createEClass(XCOMM_SUBSYSTEM);
489
490 kaCommSubsystemEClass = createEClass(KA_COMM_SUBSYSTEM);
491 }
492
493 /**
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 */
498 private boolean isInitialized = false;
499
500 /**
501 * Complete the initialization of the package and its meta-model. This
502 * method is guarded to have no affect on any invocation but its first.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @generated
506 */
507 public void initializePackageContents() {
508 if (isInitialized)
509 return;
510 isInitialized = true;
511
512 // Initialize package
513 setName(eNAME);
514 setNsPrefix(eNS_PREFIX);
515 setNsURI(eNS_URI);
516
517 // Create type parameters
518
519 // Set bounds for type parameters
520
521 // Add supertypes to classes
522 interferometryMissionEClass.getESuperTypes().add(this.getConstellationMission());
523 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
524 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
525 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
526 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat());
527 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat());
528 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
529 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
530 uhfCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
531 xCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
532 kaCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
533
534 // Initialize classes, features, and operations; add parameters
535 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
536 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
537 initEReference(getConstellationMission_GroundStationNetwork(), this.getGroundStationNetwork(), null,
538 "groundStationNetwork", null, 1, 1, ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE,
539 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
540 initEReference(getConstellationMission_Spacecraft(), this.getSpacecraft(), null, "spacecraft", null, 2, -1,
541 ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
542 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
543
544 initEClass(interferometryMissionEClass, InterferometryMission.class, "InterferometryMission", !IS_ABSTRACT,
545 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
546
547 initEClass(communicatingElementEClass, CommunicatingElement.class, "CommunicatingElement", IS_ABSTRACT,
548 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
549 initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1,
550 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
551 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
552
553 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
554 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
555
556 initEClass(spacecraftEClass, Spacecraft.class, "Spacecraft", IS_ABSTRACT, !IS_INTERFACE,
557 IS_GENERATED_INSTANCE_CLASS);
558 initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class,
559 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
560 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
561
562 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE,
563 IS_GENERATED_INSTANCE_CLASS);
564 initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1,
565 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
566 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
567 initEAttribute(getCommSubsystem_Frequency(), ecorePackage.getEInt(), "frequency", null, 1, 1,
568 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
569 !IS_DERIVED, IS_ORDERED);
570 initEAttribute(getCommSubsystem_PathLength(), ecorePackage.getEInt(), "pathLength", null, 1, 1,
571 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
572 !IS_DERIVED, IS_ORDERED);
573
574 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
575
576 initEClass(interferometryPayloadEClass, InterferometryPayload.class, "InterferometryPayload", !IS_ABSTRACT,
577 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
578
579 initEClass(cubeSat3UEClass, CubeSat3U.class, "CubeSat3U", !IS_ABSTRACT, !IS_INTERFACE,
580 IS_GENERATED_INSTANCE_CLASS);
581
582 initEClass(cubeSat6UEClass, CubeSat6U.class, "CubeSat6U", !IS_ABSTRACT, !IS_INTERFACE,
583 IS_GENERATED_INSTANCE_CLASS);
584
585 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
586 IS_GENERATED_INSTANCE_CLASS);
587
588 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
589
590 initEClass(uhfCommSubsystemEClass, UHFCommSubsystem.class, "UHFCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
591 IS_GENERATED_INSTANCE_CLASS);
592
593 initEClass(xCommSubsystemEClass, XCommSubsystem.class, "XCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
594 IS_GENERATED_INSTANCE_CLASS);
595
596 initEClass(kaCommSubsystemEClass, KaCommSubsystem.class, "KaCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
597 IS_GENERATED_INSTANCE_CLASS);
598
599 // Create resource
600 createResource(eNS_URI);
601 }
602
603} //SatellitePackageImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SmallSatImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SmallSatImpl.java
new file mode 100644
index 00000000..1785dbf3
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SmallSatImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.SatellitePackage;
8import satellite.SmallSat;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>Small Sat</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class SmallSatImpl extends SpacecraftImpl implements SmallSat {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected SmallSatImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.SMALL_SAT;
35 }
36
37} //SmallSatImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java
new file mode 100644
index 00000000..58f5d069
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java
@@ -0,0 +1,184 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.common.notify.Notification;
6import org.eclipse.emf.common.notify.NotificationChain;
7
8import org.eclipse.emf.ecore.EClass;
9import org.eclipse.emf.ecore.InternalEObject;
10
11import org.eclipse.emf.ecore.impl.ENotificationImpl;
12
13import satellite.Payload;
14import satellite.SatellitePackage;
15import satellite.Spacecraft;
16
17/**
18 * <!-- begin-user-doc -->
19 * An implementation of the model object '<em><b>Spacecraft</b></em>'.
20 * <!-- end-user-doc -->
21 * <p>
22 * The following features are implemented:
23 * </p>
24 * <ul>
25 * <li>{@link satellite.impl.SpacecraftImpl#getPayload <em>Payload</em>}</li>
26 * </ul>
27 *
28 * @generated
29 */
30public abstract class SpacecraftImpl extends CommunicatingElementImpl implements Spacecraft {
31 /**
32 * The cached value of the '{@link #getPayload() <em>Payload</em>}' containment reference.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @see #getPayload()
36 * @generated
37 * @ordered
38 */
39 protected Payload payload;
40
41 /**
42 * <!-- begin-user-doc -->
43 * <!-- end-user-doc -->
44 * @generated
45 */
46 protected SpacecraftImpl() {
47 super();
48 }
49
50 /**
51 * <!-- begin-user-doc -->
52 * <!-- end-user-doc -->
53 * @generated
54 */
55 @Override
56 protected EClass eStaticClass() {
57 return SatellitePackage.Literals.SPACECRAFT;
58 }
59
60 /**
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @generated
64 */
65 @Override
66 public Payload getPayload() {
67 return payload;
68 }
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 public NotificationChain basicSetPayload(Payload newPayload, NotificationChain msgs) {
76 Payload oldPayload = payload;
77 payload = newPayload;
78 if (eNotificationRequired()) {
79 ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
80 SatellitePackage.SPACECRAFT__PAYLOAD, oldPayload, newPayload);
81 if (msgs == null)
82 msgs = notification;
83 else
84 msgs.add(notification);
85 }
86 return msgs;
87 }
88
89 /**
90 * <!-- begin-user-doc -->
91 * <!-- end-user-doc -->
92 * @generated
93 */
94 @Override
95 public void setPayload(Payload newPayload) {
96 if (newPayload != payload) {
97 NotificationChain msgs = null;
98 if (payload != null)
99 msgs = ((InternalEObject) payload).eInverseRemove(this,
100 EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs);
101 if (newPayload != null)
102 msgs = ((InternalEObject) newPayload).eInverseAdd(this,
103 EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs);
104 msgs = basicSetPayload(newPayload, msgs);
105 if (msgs != null)
106 msgs.dispatch();
107 } else if (eNotificationRequired())
108 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.SPACECRAFT__PAYLOAD, newPayload,
109 newPayload));
110 }
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 @Override
118 public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
119 switch (featureID) {
120 case SatellitePackage.SPACECRAFT__PAYLOAD:
121 return basicSetPayload(null, msgs);
122 }
123 return super.eInverseRemove(otherEnd, featureID, msgs);
124 }
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 @Override
132 public Object eGet(int featureID, boolean resolve, boolean coreType) {
133 switch (featureID) {
134 case SatellitePackage.SPACECRAFT__PAYLOAD:
135 return getPayload();
136 }
137 return super.eGet(featureID, resolve, coreType);
138 }
139
140 /**
141 * <!-- begin-user-doc -->
142 * <!-- end-user-doc -->
143 * @generated
144 */
145 @Override
146 public void eSet(int featureID, Object newValue) {
147 switch (featureID) {
148 case SatellitePackage.SPACECRAFT__PAYLOAD:
149 setPayload((Payload) newValue);
150 return;
151 }
152 super.eSet(featureID, newValue);
153 }
154
155 /**
156 * <!-- begin-user-doc -->
157 * <!-- end-user-doc -->
158 * @generated
159 */
160 @Override
161 public void eUnset(int featureID) {
162 switch (featureID) {
163 case SatellitePackage.SPACECRAFT__PAYLOAD:
164 setPayload((Payload) null);
165 return;
166 }
167 super.eUnset(featureID);
168 }
169
170 /**
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 */
175 @Override
176 public boolean eIsSet(int featureID) {
177 switch (featureID) {
178 case SatellitePackage.SPACECRAFT__PAYLOAD:
179 return payload != null;
180 }
181 return super.eIsSet(featureID);
182 }
183
184} //SpacecraftImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java
new file mode 100644
index 00000000..df21b9e1
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.SatellitePackage;
8import satellite.UHFCommSubsystem;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>UHF Comm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class UHFCommSubsystemImpl extends CommSubsystemImpl implements UHFCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected UHFCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.UHF_COMM_SUBSYSTEM;
35 }
36
37} //UHFCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java
new file mode 100644
index 00000000..c686a50e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java
@@ -0,0 +1,37 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6
7import satellite.SatellitePackage;
8import satellite.XCommSubsystem;
9
10/**
11 * <!-- begin-user-doc -->
12 * An implementation of the model object '<em><b>XComm Subsystem</b></em>'.
13 * <!-- end-user-doc -->
14 *
15 * @generated
16 */
17public class XCommSubsystemImpl extends CommSubsystemImpl implements XCommSubsystem {
18 /**
19 * <!-- begin-user-doc -->
20 * <!-- end-user-doc -->
21 * @generated
22 */
23 protected XCommSubsystemImpl() {
24 super();
25 }
26
27 /**
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 @Override
33 protected EClass eStaticClass() {
34 return SatellitePackage.Literals.XCOMM_SUBSYSTEM;
35 }
36
37} //XCommSubsystemImpl
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
new file mode 100644
index 00000000..175f474f
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java
@@ -0,0 +1,385 @@
1/**
2 */
3package satellite.util;
4
5import org.eclipse.emf.common.notify.Adapter;
6import org.eclipse.emf.common.notify.Notifier;
7
8import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
9
10import org.eclipse.emf.ecore.EObject;
11
12import satellite.*;
13
14/**
15 * <!-- begin-user-doc -->
16 * The <b>Adapter Factory</b> for the model.
17 * It provides an adapter <code>createXXX</code> method for each class of the model.
18 * <!-- end-user-doc -->
19 * @see satellite.SatellitePackage
20 * @generated
21 */
22public class SatelliteAdapterFactory extends AdapterFactoryImpl {
23 /**
24 * The cached model package.
25 * <!-- begin-user-doc -->
26 * <!-- end-user-doc -->
27 * @generated
28 */
29 protected static SatellitePackage modelPackage;
30
31 /**
32 * Creates an instance of the adapter factory.
33 * <!-- begin-user-doc -->
34 * <!-- end-user-doc -->
35 * @generated
36 */
37 public SatelliteAdapterFactory() {
38 if (modelPackage == null) {
39 modelPackage = SatellitePackage.eINSTANCE;
40 }
41 }
42
43 /**
44 * Returns whether this factory is applicable for the type of the object.
45 * <!-- begin-user-doc -->
46 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
47 * <!-- end-user-doc -->
48 * @return whether this factory is applicable for the type of the object.
49 * @generated
50 */
51 @Override
52 public boolean isFactoryForType(Object object) {
53 if (object == modelPackage) {
54 return true;
55 }
56 if (object instanceof EObject) {
57 return ((EObject) object).eClass().getEPackage() == modelPackage;
58 }
59 return false;
60 }
61
62 /**
63 * The switch that delegates to the <code>createXXX</code> methods.
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 protected SatelliteSwitch<Adapter> modelSwitch = new SatelliteSwitch<Adapter>() {
69 @Override
70 public Adapter caseConstellationMission(ConstellationMission object) {
71 return createConstellationMissionAdapter();
72 }
73
74 @Override
75 public Adapter caseInterferometryMission(InterferometryMission object) {
76 return createInterferometryMissionAdapter();
77 }
78
79 @Override
80 public Adapter caseCommunicatingElement(CommunicatingElement object) {
81 return createCommunicatingElementAdapter();
82 }
83
84 @Override
85 public Adapter caseGroundStationNetwork(GroundStationNetwork object) {
86 return createGroundStationNetworkAdapter();
87 }
88
89 @Override
90 public Adapter caseSpacecraft(Spacecraft object) {
91 return createSpacecraftAdapter();
92 }
93
94 @Override
95 public Adapter caseCommSubsystem(CommSubsystem object) {
96 return createCommSubsystemAdapter();
97 }
98
99 @Override
100 public Adapter casePayload(Payload object) {
101 return createPayloadAdapter();
102 }
103
104 @Override
105 public Adapter caseInterferometryPayload(InterferometryPayload object) {
106 return createInterferometryPayloadAdapter();
107 }
108
109 @Override
110 public Adapter caseCubeSat3U(CubeSat3U object) {
111 return createCubeSat3UAdapter();
112 }
113
114 @Override
115 public Adapter caseCubeSat6U(CubeSat6U object) {
116 return createCubeSat6UAdapter();
117 }
118
119 @Override
120 public Adapter caseSmallSat(SmallSat object) {
121 return createSmallSatAdapter();
122 }
123
124 @Override
125 public Adapter caseCubeSat(CubeSat object) {
126 return createCubeSatAdapter();
127 }
128
129 @Override
130 public Adapter caseUHFCommSubsystem(UHFCommSubsystem object) {
131 return createUHFCommSubsystemAdapter();
132 }
133
134 @Override
135 public Adapter caseXCommSubsystem(XCommSubsystem object) {
136 return createXCommSubsystemAdapter();
137 }
138
139 @Override
140 public Adapter caseKaCommSubsystem(KaCommSubsystem object) {
141 return createKaCommSubsystemAdapter();
142 }
143
144 @Override
145 public Adapter defaultCase(EObject object) {
146 return createEObjectAdapter();
147 }
148 };
149
150 /**
151 * Creates an adapter for the <code>target</code>.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @param target the object to adapt.
155 * @return the adapter for the <code>target</code>.
156 * @generated
157 */
158 @Override
159 public Adapter createAdapter(Notifier target) {
160 return modelSwitch.doSwitch((EObject) target);
161 }
162
163 /**
164 * Creates a new adapter for an object of class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
165 * <!-- begin-user-doc -->
166 * This default implementation returns null so that we can easily ignore cases;
167 * it's useful to ignore a case when inheritance will catch all the cases anyway.
168 * <!-- end-user-doc -->
169 * @return the new adapter.
170 * @see satellite.ConstellationMission
171 * @generated
172 */
173 public Adapter createConstellationMissionAdapter() {
174 return null;
175 }
176
177 /**
178 * Creates a new adapter for an object of class '{@link satellite.InterferometryMission <em>Interferometry Mission</em>}'.
179 * <!-- begin-user-doc -->
180 * This default implementation returns null so that we can easily ignore cases;
181 * it's useful to ignore a case when inheritance will catch all the cases anyway.
182 * <!-- end-user-doc -->
183 * @return the new adapter.
184 * @see satellite.InterferometryMission
185 * @generated
186 */
187 public Adapter createInterferometryMissionAdapter() {
188 return null;
189 }
190
191 /**
192 * Creates a new adapter for an object of class '{@link satellite.CommunicatingElement <em>Communicating Element</em>}'.
193 * <!-- begin-user-doc -->
194 * This default implementation returns null so that we can easily ignore cases;
195 * it's useful to ignore a case when inheritance will catch all the cases anyway.
196 * <!-- end-user-doc -->
197 * @return the new adapter.
198 * @see satellite.CommunicatingElement
199 * @generated
200 */
201 public Adapter createCommunicatingElementAdapter() {
202 return null;
203 }
204
205 /**
206 * Creates a new adapter for an object of class '{@link satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
207 * <!-- begin-user-doc -->
208 * This default implementation returns null so that we can easily ignore cases;
209 * it's useful to ignore a case when inheritance will catch all the cases anyway.
210 * <!-- end-user-doc -->
211 * @return the new adapter.
212 * @see satellite.GroundStationNetwork
213 * @generated
214 */
215 public Adapter createGroundStationNetworkAdapter() {
216 return null;
217 }
218
219 /**
220 * Creates a new adapter for an object of class '{@link satellite.Spacecraft <em>Spacecraft</em>}'.
221 * <!-- begin-user-doc -->
222 * This default implementation returns null so that we can easily ignore cases;
223 * it's useful to ignore a case when inheritance will catch all the cases anyway.
224 * <!-- end-user-doc -->
225 * @return the new adapter.
226 * @see satellite.Spacecraft
227 * @generated
228 */
229 public Adapter createSpacecraftAdapter() {
230 return null;
231 }
232
233 /**
234 * Creates a new adapter for an object of class '{@link satellite.CommSubsystem <em>Comm Subsystem</em>}'.
235 * <!-- begin-user-doc -->
236 * This default implementation returns null so that we can easily ignore cases;
237 * it's useful to ignore a case when inheritance will catch all the cases anyway.
238 * <!-- end-user-doc -->
239 * @return the new adapter.
240 * @see satellite.CommSubsystem
241 * @generated
242 */
243 public Adapter createCommSubsystemAdapter() {
244 return null;
245 }
246
247 /**
248 * Creates a new adapter for an object of class '{@link satellite.Payload <em>Payload</em>}'.
249 * <!-- begin-user-doc -->
250 * This default implementation returns null so that we can easily ignore cases;
251 * it's useful to ignore a case when inheritance will catch all the cases anyway.
252 * <!-- end-user-doc -->
253 * @return the new adapter.
254 * @see satellite.Payload
255 * @generated
256 */
257 public Adapter createPayloadAdapter() {
258 return null;
259 }
260
261 /**
262 * Creates a new adapter for an object of class '{@link satellite.InterferometryPayload <em>Interferometry Payload</em>}'.
263 * <!-- begin-user-doc -->
264 * This default implementation returns null so that we can easily ignore cases;
265 * it's useful to ignore a case when inheritance will catch all the cases anyway.
266 * <!-- end-user-doc -->
267 * @return the new adapter.
268 * @see satellite.InterferometryPayload
269 * @generated
270 */
271 public Adapter createInterferometryPayloadAdapter() {
272 return null;
273 }
274
275 /**
276 * Creates a new adapter for an object of class '{@link satellite.CubeSat3U <em>Cube Sat3 U</em>}'.
277 * <!-- begin-user-doc -->
278 * This default implementation returns null so that we can easily ignore cases;
279 * it's useful to ignore a case when inheritance will catch all the cases anyway.
280 * <!-- end-user-doc -->
281 * @return the new adapter.
282 * @see satellite.CubeSat3U
283 * @generated
284 */
285 public Adapter createCubeSat3UAdapter() {
286 return null;
287 }
288
289 /**
290 * Creates a new adapter for an object of class '{@link satellite.CubeSat6U <em>Cube Sat6 U</em>}'.
291 * <!-- begin-user-doc -->
292 * This default implementation returns null so that we can easily ignore cases;
293 * it's useful to ignore a case when inheritance will catch all the cases anyway.
294 * <!-- end-user-doc -->
295 * @return the new adapter.
296 * @see satellite.CubeSat6U
297 * @generated
298 */
299 public Adapter createCubeSat6UAdapter() {
300 return null;
301 }
302
303 /**
304 * Creates a new adapter for an object of class '{@link satellite.SmallSat <em>Small Sat</em>}'.
305 * <!-- begin-user-doc -->
306 * This default implementation returns null so that we can easily ignore cases;
307 * it's useful to ignore a case when inheritance will catch all the cases anyway.
308 * <!-- end-user-doc -->
309 * @return the new adapter.
310 * @see satellite.SmallSat
311 * @generated
312 */
313 public Adapter createSmallSatAdapter() {
314 return null;
315 }
316
317 /**
318 * Creates a new adapter for an object of class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
319 * <!-- begin-user-doc -->
320 * This default implementation returns null so that we can easily ignore cases;
321 * it's useful to ignore a case when inheritance will catch all the cases anyway.
322 * <!-- end-user-doc -->
323 * @return the new adapter.
324 * @see satellite.CubeSat
325 * @generated
326 */
327 public Adapter createCubeSatAdapter() {
328 return null;
329 }
330
331 /**
332 * Creates a new adapter for an object of class '{@link satellite.UHFCommSubsystem <em>UHF Comm Subsystem</em>}'.
333 * <!-- begin-user-doc -->
334 * This default implementation returns null so that we can easily ignore cases;
335 * it's useful to ignore a case when inheritance will catch all the cases anyway.
336 * <!-- end-user-doc -->
337 * @return the new adapter.
338 * @see satellite.UHFCommSubsystem
339 * @generated
340 */
341 public Adapter createUHFCommSubsystemAdapter() {
342 return null;
343 }
344
345 /**
346 * Creates a new adapter for an object of class '{@link satellite.XCommSubsystem <em>XComm Subsystem</em>}'.
347 * <!-- begin-user-doc -->
348 * This default implementation returns null so that we can easily ignore cases;
349 * it's useful to ignore a case when inheritance will catch all the cases anyway.
350 * <!-- end-user-doc -->
351 * @return the new adapter.
352 * @see satellite.XCommSubsystem
353 * @generated
354 */
355 public Adapter createXCommSubsystemAdapter() {
356 return null;
357 }
358
359 /**
360 * Creates a new adapter for an object of class '{@link satellite.KaCommSubsystem <em>Ka Comm Subsystem</em>}'.
361 * <!-- begin-user-doc -->
362 * This default implementation returns null so that we can easily ignore cases;
363 * it's useful to ignore a case when inheritance will catch all the cases anyway.
364 * <!-- end-user-doc -->
365 * @return the new adapter.
366 * @see satellite.KaCommSubsystem
367 * @generated
368 */
369 public Adapter createKaCommSubsystemAdapter() {
370 return null;
371 }
372
373 /**
374 * Creates a new adapter for the default case.
375 * <!-- begin-user-doc -->
376 * This default implementation returns null.
377 * <!-- end-user-doc -->
378 * @return the new adapter.
379 * @generated
380 */
381 public Adapter createEObjectAdapter() {
382 return null;
383 }
384
385} //SatelliteAdapterFactory
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
new file mode 100644
index 00000000..541d8494
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java
@@ -0,0 +1,454 @@
1/**
2 */
3package satellite.util;
4
5import org.eclipse.emf.ecore.EObject;
6import org.eclipse.emf.ecore.EPackage;
7
8import org.eclipse.emf.ecore.util.Switch;
9
10import satellite.*;
11
12/**
13 * <!-- begin-user-doc -->
14 * The <b>Switch</b> for the model's inheritance hierarchy.
15 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
16 * to invoke the <code>caseXXX</code> method for each class of the model,
17 * starting with the actual class of the object
18 * and proceeding up the inheritance hierarchy
19 * until a non-null result is returned,
20 * which is the result of the switch.
21 * <!-- end-user-doc -->
22 * @see satellite.SatellitePackage
23 * @generated
24 */
25public class SatelliteSwitch<T> extends Switch<T> {
26 /**
27 * The cached model package
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 protected static SatellitePackage modelPackage;
33
34 /**
35 * Creates an instance of the switch.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 public SatelliteSwitch() {
41 if (modelPackage == null) {
42 modelPackage = SatellitePackage.eINSTANCE;
43 }
44 }
45
46 /**
47 * Checks whether this is a switch for the given package.
48 * <!-- begin-user-doc -->
49 * <!-- end-user-doc -->
50 * @param ePackage the package in question.
51 * @return whether this is a switch for the given package.
52 * @generated
53 */
54 @Override
55 protected boolean isSwitchFor(EPackage ePackage) {
56 return ePackage == modelPackage;
57 }
58
59 /**
60 * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
61 * <!-- begin-user-doc -->
62 * <!-- end-user-doc -->
63 * @return the first non-null result returned by a <code>caseXXX</code> call.
64 * @generated
65 */
66 @Override
67 protected T doSwitch(int classifierID, EObject theEObject) {
68 switch (classifierID) {
69 case SatellitePackage.CONSTELLATION_MISSION: {
70 ConstellationMission constellationMission = (ConstellationMission) theEObject;
71 T result = caseConstellationMission(constellationMission);
72 if (result == null)
73 result = defaultCase(theEObject);
74 return result;
75 }
76 case SatellitePackage.INTERFEROMETRY_MISSION: {
77 InterferometryMission interferometryMission = (InterferometryMission) theEObject;
78 T result = caseInterferometryMission(interferometryMission);
79 if (result == null)
80 result = caseConstellationMission(interferometryMission);
81 if (result == null)
82 result = defaultCase(theEObject);
83 return result;
84 }
85 case SatellitePackage.COMMUNICATING_ELEMENT: {
86 CommunicatingElement communicatingElement = (CommunicatingElement) theEObject;
87 T result = caseCommunicatingElement(communicatingElement);
88 if (result == null)
89 result = defaultCase(theEObject);
90 return result;
91 }
92 case SatellitePackage.GROUND_STATION_NETWORK: {
93 GroundStationNetwork groundStationNetwork = (GroundStationNetwork) theEObject;
94 T result = caseGroundStationNetwork(groundStationNetwork);
95 if (result == null)
96 result = caseCommunicatingElement(groundStationNetwork);
97 if (result == null)
98 result = defaultCase(theEObject);
99 return result;
100 }
101 case SatellitePackage.SPACECRAFT: {
102 Spacecraft spacecraft = (Spacecraft) theEObject;
103 T result = caseSpacecraft(spacecraft);
104 if (result == null)
105 result = caseCommunicatingElement(spacecraft);
106 if (result == null)
107 result = defaultCase(theEObject);
108 return result;
109 }
110 case SatellitePackage.COMM_SUBSYSTEM: {
111 CommSubsystem commSubsystem = (CommSubsystem) theEObject;
112 T result = caseCommSubsystem(commSubsystem);
113 if (result == null)
114 result = defaultCase(theEObject);
115 return result;
116 }
117 case SatellitePackage.PAYLOAD: {
118 Payload payload = (Payload) theEObject;
119 T result = casePayload(payload);
120 if (result == null)
121 result = defaultCase(theEObject);
122 return result;
123 }
124 case SatellitePackage.INTERFEROMETRY_PAYLOAD: {
125 InterferometryPayload interferometryPayload = (InterferometryPayload) theEObject;
126 T result = caseInterferometryPayload(interferometryPayload);
127 if (result == null)
128 result = casePayload(interferometryPayload);
129 if (result == null)
130 result = defaultCase(theEObject);
131 return result;
132 }
133 case SatellitePackage.CUBE_SAT3_U: {
134 CubeSat3U cubeSat3U = (CubeSat3U) theEObject;
135 T result = caseCubeSat3U(cubeSat3U);
136 if (result == null)
137 result = caseCubeSat(cubeSat3U);
138 if (result == null)
139 result = caseSpacecraft(cubeSat3U);
140 if (result == null)
141 result = caseCommunicatingElement(cubeSat3U);
142 if (result == null)
143 result = defaultCase(theEObject);
144 return result;
145 }
146 case SatellitePackage.CUBE_SAT6_U: {
147 CubeSat6U cubeSat6U = (CubeSat6U) theEObject;
148 T result = caseCubeSat6U(cubeSat6U);
149 if (result == null)
150 result = caseCubeSat(cubeSat6U);
151 if (result == null)
152 result = caseSpacecraft(cubeSat6U);
153 if (result == null)
154 result = caseCommunicatingElement(cubeSat6U);
155 if (result == null)
156 result = defaultCase(theEObject);
157 return result;
158 }
159 case SatellitePackage.SMALL_SAT: {
160 SmallSat smallSat = (SmallSat) theEObject;
161 T result = caseSmallSat(smallSat);
162 if (result == null)
163 result = caseSpacecraft(smallSat);
164 if (result == null)
165 result = caseCommunicatingElement(smallSat);
166 if (result == null)
167 result = defaultCase(theEObject);
168 return result;
169 }
170 case SatellitePackage.CUBE_SAT: {
171 CubeSat cubeSat = (CubeSat) theEObject;
172 T result = caseCubeSat(cubeSat);
173 if (result == null)
174 result = caseSpacecraft(cubeSat);
175 if (result == null)
176 result = caseCommunicatingElement(cubeSat);
177 if (result == null)
178 result = defaultCase(theEObject);
179 return result;
180 }
181 case SatellitePackage.UHF_COMM_SUBSYSTEM: {
182 UHFCommSubsystem uhfCommSubsystem = (UHFCommSubsystem) theEObject;
183 T result = caseUHFCommSubsystem(uhfCommSubsystem);
184 if (result == null)
185 result = caseCommSubsystem(uhfCommSubsystem);
186 if (result == null)
187 result = defaultCase(theEObject);
188 return result;
189 }
190 case SatellitePackage.XCOMM_SUBSYSTEM: {
191 XCommSubsystem xCommSubsystem = (XCommSubsystem) theEObject;
192 T result = caseXCommSubsystem(xCommSubsystem);
193 if (result == null)
194 result = caseCommSubsystem(xCommSubsystem);
195 if (result == null)
196 result = defaultCase(theEObject);
197 return result;
198 }
199 case SatellitePackage.KA_COMM_SUBSYSTEM: {
200 KaCommSubsystem kaCommSubsystem = (KaCommSubsystem) theEObject;
201 T result = caseKaCommSubsystem(kaCommSubsystem);
202 if (result == null)
203 result = caseCommSubsystem(kaCommSubsystem);
204 if (result == null)
205 result = defaultCase(theEObject);
206 return result;
207 }
208 default:
209 return defaultCase(theEObject);
210 }
211 }
212
213 /**
214 * Returns the result of interpreting the object as an instance of '<em>Constellation Mission</em>'.
215 * <!-- begin-user-doc -->
216 * This implementation returns null;
217 * returning a non-null result will terminate the switch.
218 * <!-- end-user-doc -->
219 * @param object the target of the switch.
220 * @return the result of interpreting the object as an instance of '<em>Constellation Mission</em>'.
221 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
222 * @generated
223 */
224 public T caseConstellationMission(ConstellationMission object) {
225 return null;
226 }
227
228 /**
229 * Returns the result of interpreting the object as an instance of '<em>Interferometry Mission</em>'.
230 * <!-- begin-user-doc -->
231 * This implementation returns null;
232 * returning a non-null result will terminate the switch.
233 * <!-- end-user-doc -->
234 * @param object the target of the switch.
235 * @return the result of interpreting the object as an instance of '<em>Interferometry Mission</em>'.
236 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
237 * @generated
238 */
239 public T caseInterferometryMission(InterferometryMission object) {
240 return null;
241 }
242
243 /**
244 * Returns the result of interpreting the object as an instance of '<em>Communicating Element</em>'.
245 * <!-- begin-user-doc -->
246 * This implementation returns null;
247 * returning a non-null result will terminate the switch.
248 * <!-- end-user-doc -->
249 * @param object the target of the switch.
250 * @return the result of interpreting the object as an instance of '<em>Communicating Element</em>'.
251 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
252 * @generated
253 */
254 public T caseCommunicatingElement(CommunicatingElement object) {
255 return null;
256 }
257
258 /**
259 * Returns the result of interpreting the object as an instance of '<em>Ground Station Network</em>'.
260 * <!-- begin-user-doc -->
261 * This implementation returns null;
262 * returning a non-null result will terminate the switch.
263 * <!-- end-user-doc -->
264 * @param object the target of the switch.
265 * @return the result of interpreting the object as an instance of '<em>Ground Station Network</em>'.
266 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
267 * @generated
268 */
269 public T caseGroundStationNetwork(GroundStationNetwork object) {
270 return null;
271 }
272
273 /**
274 * Returns the result of interpreting the object as an instance of '<em>Spacecraft</em>'.
275 * <!-- begin-user-doc -->
276 * This implementation returns null;
277 * returning a non-null result will terminate the switch.
278 * <!-- end-user-doc -->
279 * @param object the target of the switch.
280 * @return the result of interpreting the object as an instance of '<em>Spacecraft</em>'.
281 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
282 * @generated
283 */
284 public T caseSpacecraft(Spacecraft object) {
285 return null;
286 }
287
288 /**
289 * Returns the result of interpreting the object as an instance of '<em>Comm Subsystem</em>'.
290 * <!-- begin-user-doc -->
291 * This implementation returns null;
292 * returning a non-null result will terminate the switch.
293 * <!-- end-user-doc -->
294 * @param object the target of the switch.
295 * @return the result of interpreting the object as an instance of '<em>Comm Subsystem</em>'.
296 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
297 * @generated
298 */
299 public T caseCommSubsystem(CommSubsystem object) {
300 return null;
301 }
302
303 /**
304 * Returns the result of interpreting the object as an instance of '<em>Payload</em>'.
305 * <!-- begin-user-doc -->
306 * This implementation returns null;
307 * returning a non-null result will terminate the switch.
308 * <!-- end-user-doc -->
309 * @param object the target of the switch.
310 * @return the result of interpreting the object as an instance of '<em>Payload</em>'.
311 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
312 * @generated
313 */
314 public T casePayload(Payload object) {
315 return null;
316 }
317
318 /**
319 * Returns the result of interpreting the object as an instance of '<em>Interferometry Payload</em>'.
320 * <!-- begin-user-doc -->
321 * This implementation returns null;
322 * returning a non-null result will terminate the switch.
323 * <!-- end-user-doc -->
324 * @param object the target of the switch.
325 * @return the result of interpreting the object as an instance of '<em>Interferometry Payload</em>'.
326 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
327 * @generated
328 */
329 public T caseInterferometryPayload(InterferometryPayload object) {
330 return null;
331 }
332
333 /**
334 * Returns the result of interpreting the object as an instance of '<em>Cube Sat3 U</em>'.
335 * <!-- begin-user-doc -->
336 * This implementation returns null;
337 * returning a non-null result will terminate the switch.
338 * <!-- end-user-doc -->
339 * @param object the target of the switch.
340 * @return the result of interpreting the object as an instance of '<em>Cube Sat3 U</em>'.
341 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
342 * @generated
343 */
344 public T caseCubeSat3U(CubeSat3U object) {
345 return null;
346 }
347
348 /**
349 * Returns the result of interpreting the object as an instance of '<em>Cube Sat6 U</em>'.
350 * <!-- begin-user-doc -->
351 * This implementation returns null;
352 * returning a non-null result will terminate the switch.
353 * <!-- end-user-doc -->
354 * @param object the target of the switch.
355 * @return the result of interpreting the object as an instance of '<em>Cube Sat6 U</em>'.
356 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
357 * @generated
358 */
359 public T caseCubeSat6U(CubeSat6U object) {
360 return null;
361 }
362
363 /**
364 * Returns the result of interpreting the object as an instance of '<em>Small Sat</em>'.
365 * <!-- begin-user-doc -->
366 * This implementation returns null;
367 * returning a non-null result will terminate the switch.
368 * <!-- end-user-doc -->
369 * @param object the target of the switch.
370 * @return the result of interpreting the object as an instance of '<em>Small Sat</em>'.
371 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
372 * @generated
373 */
374 public T caseSmallSat(SmallSat object) {
375 return null;
376 }
377
378 /**
379 * Returns the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
380 * <!-- begin-user-doc -->
381 * This implementation returns null;
382 * returning a non-null result will terminate the switch.
383 * <!-- end-user-doc -->
384 * @param object the target of the switch.
385 * @return the result of interpreting the object as an instance of '<em>Cube Sat</em>'.
386 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
387 * @generated
388 */
389 public T caseCubeSat(CubeSat object) {
390 return null;
391 }
392
393 /**
394 * Returns the result of interpreting the object as an instance of '<em>UHF Comm Subsystem</em>'.
395 * <!-- begin-user-doc -->
396 * This implementation returns null;
397 * returning a non-null result will terminate the switch.
398 * <!-- end-user-doc -->
399 * @param object the target of the switch.
400 * @return the result of interpreting the object as an instance of '<em>UHF Comm Subsystem</em>'.
401 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
402 * @generated
403 */
404 public T caseUHFCommSubsystem(UHFCommSubsystem object) {
405 return null;
406 }
407
408 /**
409 * Returns the result of interpreting the object as an instance of '<em>XComm Subsystem</em>'.
410 * <!-- begin-user-doc -->
411 * This implementation returns null;
412 * returning a non-null result will terminate the switch.
413 * <!-- end-user-doc -->
414 * @param object the target of the switch.
415 * @return the result of interpreting the object as an instance of '<em>XComm Subsystem</em>'.
416 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
417 * @generated
418 */
419 public T caseXCommSubsystem(XCommSubsystem object) {
420 return null;
421 }
422
423 /**
424 * Returns the result of interpreting the object as an instance of '<em>Ka Comm Subsystem</em>'.
425 * <!-- begin-user-doc -->
426 * This implementation returns null;
427 * returning a non-null result will terminate the switch.
428 * <!-- end-user-doc -->
429 * @param object the target of the switch.
430 * @return the result of interpreting the object as an instance of '<em>Ka Comm Subsystem</em>'.
431 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
432 * @generated
433 */
434 public T caseKaCommSubsystem(KaCommSubsystem object) {
435 return null;
436 }
437
438 /**
439 * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
440 * <!-- begin-user-doc -->
441 * This implementation returns null;
442 * returning a non-null result will terminate the switch, but this is the last case anyway.
443 * <!-- end-user-doc -->
444 * @param object the target of the switch.
445 * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
446 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
447 * @generated
448 */
449 @Override
450 public T defaultCase(EObject object) {
451 return null;
452 }
453
454} //SatelliteSwitch
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi
new file mode 100644
index 00000000..3d07a199
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi
@@ -0,0 +1,7 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<satellite:InterferometryMission
3 xmi:version="2.0"
4 xmlns:xmi="http://www.omg.org/XMI"
5 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6 xmlns:satellite="http://www.example.org/satellite"
7 xsi:schemaLocation="http://www.example.org/satellite ../model/satellite.ecore"/>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
new file mode 100644
index 00000000..23e8b463
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird
@@ -0,0 +1,796 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<xmi:XMI 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">
3 <viewpoint:DAnalysis uid="_7bw1kJL8EeqASt_f1N53dA" selectedViews="_7hH2sJL8EeqASt_f1N53dA _7haKkJL8EeqASt_f1N53dA _7hcm0JL8EeqASt_f1N53dA _7hkioJL8EeqASt_f1N53dA" version="14.1.0.201810161215">
4 <semanticResources>satellite.ecore</semanticResources>
5 <semanticResources>satellite.genmodel</semanticResources>
6 <ownedViews xmi:type="viewpoint:DView" uid="_7hH2sJL8EeqASt_f1N53dA">
7 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
8 <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_8OViAJL8EeqASt_f1N53dA" name="satellite class diagram" repPath="#_8NoXYJL8EeqASt_f1N53dA">
9 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
10 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
11 </ownedRepresentationDescriptors>
12 </ownedViews>
13 <ownedViews xmi:type="viewpoint:DView" uid="_7haKkJL8EeqASt_f1N53dA">
14 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
15 </ownedViews>
16 <ownedViews xmi:type="viewpoint:DView" uid="_7hcm0JL8EeqASt_f1N53dA">
17 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
18 </ownedViews>
19 <ownedViews xmi:type="viewpoint:DView" uid="_7hkioJL8EeqASt_f1N53dA">
20 <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
21 </ownedViews>
22 </viewpoint:DAnalysis>
23 <diagram:DSemanticDiagram uid="_8NoXYJL8EeqASt_f1N53dA" name="satellite class diagram">
24 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_8OM_IJL8EeqASt_f1N53dA" source="DANNOTATION_CUSTOMIZATION_KEY">
25 <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_8OM_IZL8EeqASt_f1N53dA">
26 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan">
27 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
28 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_855AcZL8EeqASt_f1N53dA" showIcon="false" labelExpression="service:render">
29 <labelFormat>bold</labelFormat>
30 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
31 </centerLabelStyleDescription>
32 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_855AcpL8EeqASt_f1N53dA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
33 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
34 </endLabelStyleDescription>
35 </computedStyleDescriptions>
36 <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_858q0JL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan">
37 <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
38 <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_858q0ZL8EeqASt_f1N53dA" showIcon="false" labelExpression="service:render">
39 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
40 </centerLabelStyleDescription>
41 <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_858q0pL8EeqASt_f1N53dA" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
42 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
43 </endLabelStyleDescription>
44 </computedStyleDescriptions>
45 <computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_gEoLsJMEEeqASt_f1N53dA" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
46 <borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
47 <labelFormat>bold</labelFormat>
48 <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
49 <color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
50 </computedStyleDescriptions>
51 </data>
52 </ownedAnnotationEntries>
53 <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_8OsHUJL8EeqASt_f1N53dA" source="GMF_DIAGRAMS">
54 <data xmi:type="notation:Diagram" xmi:id="_8OsuYJL8EeqASt_f1N53dA" type="Sirius" element="_8NoXYJL8EeqASt_f1N53dA" measurementUnit="Pixel">
55 <children xmi:type="notation:Node" xmi:id="_86UeQJL8EeqASt_f1N53dA" type="2003" element="_85BdwJL8EeqASt_f1N53dA">
56 <children xmi:type="notation:Node" xmi:id="_86VsYJL8EeqASt_f1N53dA" type="5007"/>
57 <children xmi:type="notation:Node" xmi:id="_86W6gJL8EeqASt_f1N53dA" type="7004">
58 <styles xmi:type="notation:SortingStyle" xmi:id="_86W6gZL8EeqASt_f1N53dA"/>
59 <styles xmi:type="notation:FilteringStyle" xmi:id="_86W6gpL8EeqASt_f1N53dA"/>
60 </children>
61 <styles xmi:type="notation:ShapeStyle" xmi:id="_86UeQZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
62 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86UeQpL8EeqASt_f1N53dA" x="468" y="480"/>
63 </children>
64 <children xmi:type="notation:Node" xmi:id="_86XhkJL8EeqASt_f1N53dA" type="2003" element="_85FvMJL8EeqASt_f1N53dA">
65 <children xmi:type="notation:Node" xmi:id="_86YIoJL8EeqASt_f1N53dA" type="5007"/>
66 <children xmi:type="notation:Node" xmi:id="_86YIoZL8EeqASt_f1N53dA" type="7004">
67 <styles xmi:type="notation:SortingStyle" xmi:id="_86YIopL8EeqASt_f1N53dA"/>
68 <styles xmi:type="notation:FilteringStyle" xmi:id="_86YIo5L8EeqASt_f1N53dA"/>
69 </children>
70 <styles xmi:type="notation:ShapeStyle" xmi:id="_86XhkZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
71 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86XhkpL8EeqASt_f1N53dA" x="456" y="636"/>
72 </children>
73 <children xmi:type="notation:Node" xmi:id="_86YIpJL8EeqASt_f1N53dA" type="2003" element="_85G9UJL8EeqASt_f1N53dA">
74 <children xmi:type="notation:Node" xmi:id="_86YvsJL8EeqASt_f1N53dA" type="5007"/>
75 <children xmi:type="notation:Node" xmi:id="_86YvsZL8EeqASt_f1N53dA" type="7004">
76 <styles xmi:type="notation:SortingStyle" xmi:id="_86YvspL8EeqASt_f1N53dA"/>
77 <styles xmi:type="notation:FilteringStyle" xmi:id="_86Yvs5L8EeqASt_f1N53dA"/>
78 </children>
79 <styles xmi:type="notation:ShapeStyle" xmi:id="_86YIpZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
80 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86YIppL8EeqASt_f1N53dA" x="552" y="156"/>
81 </children>
82 <children xmi:type="notation:Node" xmi:id="_86ZWwJL8EeqASt_f1N53dA" type="2003" element="_85ILcJL8EeqASt_f1N53dA">
83 <children xmi:type="notation:Node" xmi:id="_86Z90JL8EeqASt_f1N53dA" type="5007"/>
84 <children xmi:type="notation:Node" xmi:id="_86ak4JL8EeqASt_f1N53dA" type="7004">
85 <styles xmi:type="notation:SortingStyle" xmi:id="_86ak4ZL8EeqASt_f1N53dA"/>
86 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ak4pL8EeqASt_f1N53dA"/>
87 </children>
88 <styles xmi:type="notation:ShapeStyle" xmi:id="_86ZWwZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
89 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86ZWwpL8EeqASt_f1N53dA" x="444" y="324"/>
90 </children>
91 <children xmi:type="notation:Node" xmi:id="_86ak45L8EeqASt_f1N53dA" type="2003" element="_85JZkJL8EeqASt_f1N53dA">
92 <children xmi:type="notation:Node" xmi:id="_86bL8JL8EeqASt_f1N53dA" type="5007"/>
93 <children xmi:type="notation:Node" xmi:id="_86bL8ZL8EeqASt_f1N53dA" type="7004">
94 <styles xmi:type="notation:SortingStyle" xmi:id="_86bL8pL8EeqASt_f1N53dA"/>
95 <styles xmi:type="notation:FilteringStyle" xmi:id="_86bL85L8EeqASt_f1N53dA"/>
96 </children>
97 <styles xmi:type="notation:ShapeStyle" xmi:id="_86ak5JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
98 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86ak5ZL8EeqASt_f1N53dA" x="648" y="324"/>
99 </children>
100 <children xmi:type="notation:Node" xmi:id="_86bL9JL8EeqASt_f1N53dA" type="2003" element="_85KnsJL8EeqASt_f1N53dA">
101 <children xmi:type="notation:Node" xmi:id="_86bzAJL8EeqASt_f1N53dA" type="5007"/>
102 <children xmi:type="notation:Node" xmi:id="_86caEJL8EeqASt_f1N53dA" type="7004">
103 <children xmi:type="notation:Node" xmi:id="_HoGPkJL9EeqASt_f1N53dA" type="3010" element="_HnfLkJL9EeqASt_f1N53dA">
104 <styles xmi:type="notation:FontStyle" xmi:id="_HoGPkZL9EeqASt_f1N53dA" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/>
105 <layoutConstraint xmi:type="notation:Location" xmi:id="_HoGPkpL9EeqASt_f1N53dA"/>
106 </children>
107 <styles xmi:type="notation:SortingStyle" xmi:id="_86caEZL8EeqASt_f1N53dA"/>
108 <styles xmi:type="notation:FilteringStyle" xmi:id="_86caEpL8EeqASt_f1N53dA"/>
109 </children>
110 <styles xmi:type="notation:ShapeStyle" xmi:id="_86bL9ZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
111 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86bL9pL8EeqASt_f1N53dA" x="276"/>
112 </children>
113 <children xmi:type="notation:Node" xmi:id="_86caE5L8EeqASt_f1N53dA" type="2003" element="_85Mc4JL8EeqASt_f1N53dA">
114 <children xmi:type="notation:Node" xmi:id="_86dBIJL8EeqASt_f1N53dA" type="5007"/>
115 <children xmi:type="notation:Node" xmi:id="_86ePQJL8EeqASt_f1N53dA" type="7004">
116 <styles xmi:type="notation:SortingStyle" xmi:id="_86ePQZL8EeqASt_f1N53dA"/>
117 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ePQpL8EeqASt_f1N53dA"/>
118 </children>
119 <styles xmi:type="notation:ShapeStyle" xmi:id="_86caFJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
120 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86caFZL8EeqASt_f1N53dA" x="744" y="156"/>
121 </children>
122 <children xmi:type="notation:Node" xmi:id="_86e2UJL8EeqASt_f1N53dA" type="2003" element="_85NrAJL8EeqASt_f1N53dA">
123 <children xmi:type="notation:Node" xmi:id="_86gEcJL8EeqASt_f1N53dA" type="5007"/>
124 <children xmi:type="notation:Node" xmi:id="_86gEcZL8EeqASt_f1N53dA" type="7004">
125 <styles xmi:type="notation:SortingStyle" xmi:id="_86gEcpL8EeqASt_f1N53dA"/>
126 <styles xmi:type="notation:FilteringStyle" xmi:id="_86gEc5L8EeqASt_f1N53dA"/>
127 </children>
128 <styles xmi:type="notation:ShapeStyle" xmi:id="_86e2UZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
129 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86e2UpL8EeqASt_f1N53dA" x="828" y="324"/>
130 </children>
131 <children xmi:type="notation:Node" xmi:id="_86grgJL8EeqASt_f1N53dA" type="2003" element="_85PgMJL8EeqASt_f1N53dA">
132 <children xmi:type="notation:Node" xmi:id="_86hSkJL8EeqASt_f1N53dA" type="5007"/>
133 <children xmi:type="notation:Node" xmi:id="_86hSkZL8EeqASt_f1N53dA" type="7004">
134 <styles xmi:type="notation:SortingStyle" xmi:id="_86hSkpL8EeqASt_f1N53dA"/>
135 <styles xmi:type="notation:FilteringStyle" xmi:id="_86hSk5L8EeqASt_f1N53dA"/>
136 </children>
137 <styles xmi:type="notation:ShapeStyle" xmi:id="_86grgZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
138 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86grgpL8EeqASt_f1N53dA" x="648" y="636"/>
139 </children>
140 <children xmi:type="notation:Node" xmi:id="_86h5oJL8EeqASt_f1N53dA" type="2003" element="_85RVYJL8EeqASt_f1N53dA">
141 <children xmi:type="notation:Node" xmi:id="_86h5o5L8EeqASt_f1N53dA" type="5007"/>
142 <children xmi:type="notation:Node" xmi:id="_86igsJL8EeqASt_f1N53dA" type="7004">
143 <styles xmi:type="notation:SortingStyle" xmi:id="_86igsZL8EeqASt_f1N53dA"/>
144 <styles xmi:type="notation:FilteringStyle" xmi:id="_86igspL8EeqASt_f1N53dA"/>
145 </children>
146 <styles xmi:type="notation:ShapeStyle" xmi:id="_86h5oZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
147 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86h5opL8EeqASt_f1N53dA" x="828" y="636"/>
148 </children>
149 <children xmi:type="notation:Node" xmi:id="_86igs5L8EeqASt_f1N53dA" type="2003" element="_85SjgJL8EeqASt_f1N53dA">
150 <children xmi:type="notation:Node" xmi:id="_86jHwJL8EeqASt_f1N53dA" type="5007"/>
151 <children xmi:type="notation:Node" xmi:id="_86jHwZL8EeqASt_f1N53dA" type="7004">
152 <styles xmi:type="notation:SortingStyle" xmi:id="_86jHwpL8EeqASt_f1N53dA"/>
153 <styles xmi:type="notation:FilteringStyle" xmi:id="_86ju0JL8EeqASt_f1N53dA"/>
154 </children>
155 <styles xmi:type="notation:ShapeStyle" xmi:id="_86igtJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
156 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86igtZL8EeqASt_f1N53dA" x="828" y="480"/>
157 </children>
158 <children xmi:type="notation:Node" xmi:id="_86kV4JL8EeqASt_f1N53dA" type="2003" element="_85UYsJL8EeqASt_f1N53dA">
159 <children xmi:type="notation:Node" xmi:id="_86k88JL8EeqASt_f1N53dA" type="5007"/>
160 <children xmi:type="notation:Node" xmi:id="_86k88ZL8EeqASt_f1N53dA" type="7004">
161 <styles xmi:type="notation:SortingStyle" xmi:id="_86k88pL8EeqASt_f1N53dA"/>
162 <styles xmi:type="notation:FilteringStyle" xmi:id="_86k885L8EeqASt_f1N53dA"/>
163 </children>
164 <styles xmi:type="notation:ShapeStyle" xmi:id="_86kV4ZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8" italic="true"/>
165 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86kV4pL8EeqASt_f1N53dA" x="648" y="480"/>
166 </children>
167 <children xmi:type="notation:Node" xmi:id="_86lkAJL8EeqASt_f1N53dA" type="2003" element="_85WN4JL8EeqASt_f1N53dA">
168 <children xmi:type="notation:Node" xmi:id="_86myIJL8EeqASt_f1N53dA" type="5007"/>
169 <children xmi:type="notation:Node" xmi:id="_86myIZL8EeqASt_f1N53dA" type="7004">
170 <styles xmi:type="notation:SortingStyle" xmi:id="_86myIpL8EeqASt_f1N53dA"/>
171 <styles xmi:type="notation:FilteringStyle" xmi:id="_86myI5L8EeqASt_f1N53dA"/>
172 </children>
173 <styles xmi:type="notation:ShapeStyle" xmi:id="_86lkAZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
174 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86lkApL8EeqASt_f1N53dA" x="180" y="156"/>
175 </children>
176 <children xmi:type="notation:Node" xmi:id="_86nZMJL8EeqASt_f1N53dA" type="2003" element="_85XcAJL8EeqASt_f1N53dA">
177 <children xmi:type="notation:Node" xmi:id="_86nZM5L8EeqASt_f1N53dA" type="5007"/>
178 <children xmi:type="notation:Node" xmi:id="_86oAQJL8EeqASt_f1N53dA" type="7004">
179 <styles xmi:type="notation:SortingStyle" xmi:id="_86oAQZL8EeqASt_f1N53dA"/>
180 <styles xmi:type="notation:FilteringStyle" xmi:id="_86oAQpL8EeqASt_f1N53dA"/>
181 </children>
182 <styles xmi:type="notation:ShapeStyle" xmi:id="_86nZMZL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
183 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86nZMpL8EeqASt_f1N53dA" x="372" y="156"/>
184 </children>
185 <children xmi:type="notation:Node" xmi:id="_86oAQ5L8EeqASt_f1N53dA" type="2003" element="_85YqIJL8EeqASt_f1N53dA">
186 <children xmi:type="notation:Node" xmi:id="_86onUJL8EeqASt_f1N53dA" type="5007"/>
187 <children xmi:type="notation:Node" xmi:id="_86onUZL8EeqASt_f1N53dA" type="7004">
188 <styles xmi:type="notation:SortingStyle" xmi:id="_86onUpL8EeqASt_f1N53dA"/>
189 <styles xmi:type="notation:FilteringStyle" xmi:id="_86onU5L8EeqASt_f1N53dA"/>
190 </children>
191 <styles xmi:type="notation:ShapeStyle" xmi:id="_86oARJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
192 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86oARZL8EeqASt_f1N53dA" y="156"/>
193 </children>
194 <styles xmi:type="notation:DiagramStyle" xmi:id="_8OsuYZL8EeqASt_f1N53dA"/>
195 <edges xmi:type="notation:Edge" xmi:id="_86sRsJL8EeqASt_f1N53dA" type="4001" element="_853yUJL8EeqASt_f1N53dA" source="_86UeQJL8EeqASt_f1N53dA" target="_86ZWwJL8EeqASt_f1N53dA">
196 <children xmi:type="notation:Node" xmi:id="_86uG4JL8EeqASt_f1N53dA" type="6001">
197 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86uG4ZL8EeqASt_f1N53dA" y="-10"/>
198 </children>
199 <children xmi:type="notation:Node" xmi:id="_86vVAJL8EeqASt_f1N53dA" type="6002">
200 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86vVAZL8EeqASt_f1N53dA" y="10"/>
201 </children>
202 <children xmi:type="notation:Node" xmi:id="_86v8EJL8EeqASt_f1N53dA" type="6003">
203 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86v8EZL8EeqASt_f1N53dA" y="10"/>
204 </children>
205 <styles xmi:type="notation:ConnectorStyle" xmi:id="_86sRsZL8EeqASt_f1N53dA" routing="Rectilinear"/>
206 <styles xmi:type="notation:FontStyle" xmi:id="_86sRspL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
207 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86sRs5L8EeqASt_f1N53dA" points="[0, -50, 4, 110]$[-4, -110, 0, 50]"/>
208 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_862CsJL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
209 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_862CsZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
210 </edges>
211 <edges xmi:type="notation:Edge" xmi:id="_862pwJL8EeqASt_f1N53dA" type="4001" element="_855ng5L8EeqASt_f1N53dA" source="_86UeQJL8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
212 <children xmi:type="notation:Node" xmi:id="_862pxJL8EeqASt_f1N53dA" type="6001">
213 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_862pxZL8EeqASt_f1N53dA" y="-10"/>
214 </children>
215 <children xmi:type="notation:Node" xmi:id="_863Q0JL8EeqASt_f1N53dA" type="6002">
216 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863Q0ZL8EeqASt_f1N53dA" y="10"/>
217 </children>
218 <children xmi:type="notation:Node" xmi:id="_863Q0pL8EeqASt_f1N53dA" type="6003">
219 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863Q05L8EeqASt_f1N53dA" y="10"/>
220 </children>
221 <styles xmi:type="notation:ConnectorStyle" xmi:id="_862pwZL8EeqASt_f1N53dA" routing="Rectilinear"/>
222 <styles xmi:type="notation:FontStyle" xmi:id="_862pwpL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
223 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_862pw5L8EeqASt_f1N53dA" points="[0, -50, -188, 110]$[188, -110, 0, 50]"/>
224 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_863Q1JL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
225 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_863Q1ZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
226 </edges>
227 <edges xmi:type="notation:Edge" xmi:id="_863Q1pL8EeqASt_f1N53dA" type="4001" element="_8561ppL8EeqASt_f1N53dA" source="_86YIpJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
228 <children xmi:type="notation:Node" xmi:id="_86334JL8EeqASt_f1N53dA" type="6001">
229 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86334ZL8EeqASt_f1N53dA" y="10"/>
230 </children>
231 <children xmi:type="notation:Node" xmi:id="_86334pL8EeqASt_f1N53dA" type="6002">
232 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_863345L8EeqASt_f1N53dA" x="32" y="-157"/>
233 </children>
234 <children xmi:type="notation:Node" xmi:id="_86335JL8EeqASt_f1N53dA" type="6003">
235 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86335ZL8EeqASt_f1N53dA" x="15" y="10"/>
236 </children>
237 <styles xmi:type="notation:ConnectorStyle" xmi:id="_863Q15L8EeqASt_f1N53dA" routing="Rectilinear"/>
238 <styles xmi:type="notation:FontStyle" xmi:id="_863Q2JL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
239 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_863Q2ZL8EeqASt_f1N53dA" points="[53, -49, 337, 107]$[53, -124, 337, 32]$[-225, -124, 59, 32]"/>
240 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864e8JL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
241 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_864e8ZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
242 </edges>
243 <edges xmi:type="notation:Edge" xmi:id="_864e8pL8EeqASt_f1N53dA" type="4001" element="_858DxpL8EeqASt_f1N53dA" source="_86ak45L8EeqASt_f1N53dA" target="_86caE5L8EeqASt_f1N53dA">
244 <children xmi:type="notation:Node" xmi:id="_865GAJL8EeqASt_f1N53dA" type="6001">
245 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GAZL8EeqASt_f1N53dA" y="-10"/>
246 </children>
247 <children xmi:type="notation:Node" xmi:id="_865GApL8EeqASt_f1N53dA" type="6002">
248 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GA5L8EeqASt_f1N53dA" y="10"/>
249 </children>
250 <children xmi:type="notation:Node" xmi:id="_865GBJL8EeqASt_f1N53dA" type="6003">
251 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_865GBZL8EeqASt_f1N53dA" y="10"/>
252 </children>
253 <styles xmi:type="notation:ConnectorStyle" xmi:id="_864e85L8EeqASt_f1N53dA" routing="Rectilinear"/>
254 <styles xmi:type="notation:FontStyle" xmi:id="_864e9JL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
255 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_864e9ZL8EeqASt_f1N53dA" points="[-1, 0, -96, 60]$[94, -60, -1, 0]"/>
256 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_866UIJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
257 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_866UIZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
258 </edges>
259 <edges xmi:type="notation:Edge" xmi:id="_866UIpL8EeqASt_f1N53dA" type="4001" element="_859R5pL8EeqASt_f1N53dA" source="_86bL9JL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
260 <children xmi:type="notation:Node" xmi:id="_8667MJL8EeqASt_f1N53dA" type="6001">
261 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667MZL8EeqASt_f1N53dA" x="31" y="-2"/>
262 </children>
263 <children xmi:type="notation:Node" xmi:id="_8667MpL8EeqASt_f1N53dA" type="6002">
264 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667M5L8EeqASt_f1N53dA" x="11" y="10"/>
265 </children>
266 <children xmi:type="notation:Node" xmi:id="_8667NJL8EeqASt_f1N53dA" type="6003">
267 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8667NZL8EeqASt_f1N53dA" y="-10"/>
268 </children>
269 <styles xmi:type="notation:ConnectorStyle" xmi:id="_866UI5L8EeqASt_f1N53dA" routing="Rectilinear"/>
270 <styles xmi:type="notation:FontStyle" xmi:id="_866UJJL8EeqASt_f1N53dA" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/>
271 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_866UJZL8EeqASt_f1N53dA" points="[59, 24, 59, 24]$[121, 24, 121, 24]$[121, -49, 121, -49]$[30, -49, 30, -49]"/>
272 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_867iQJL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
273 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_867iQZL8EeqASt_f1N53dA" id="(0.5,0.5)"/>
274 </edges>
275 <edges xmi:type="notation:Edge" xmi:id="_867iQpL8EeqASt_f1N53dA" type="4001" element="_85_HEJL8EeqASt_f1N53dA" source="_86ak45L8EeqASt_f1N53dA" target="_86YIpJL8EeqASt_f1N53dA">
276 <children xmi:type="notation:Node" xmi:id="_868JUJL8EeqASt_f1N53dA" type="6001">
277 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JUZL8EeqASt_f1N53dA" y="-10"/>
278 </children>
279 <children xmi:type="notation:Node" xmi:id="_868JUpL8EeqASt_f1N53dA" type="6002">
280 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JU5L8EeqASt_f1N53dA" y="10"/>
281 </children>
282 <children xmi:type="notation:Node" xmi:id="_868JVJL8EeqASt_f1N53dA" type="6003">
283 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_868JVZL8EeqASt_f1N53dA" y="10"/>
284 </children>
285 <styles xmi:type="notation:ConnectorStyle" xmi:id="_867iQ5L8EeqASt_f1N53dA" routing="Tree"/>
286 <styles xmi:type="notation:FontStyle" xmi:id="_867iRJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
287 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_867iRZL8EeqASt_f1N53dA" points="[-1, 0, 92, 60]$[-94, -60, -1, 0]"/>
288 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_868wYJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
289 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_868wYZL8EeqASt_f1N53dA" id="(0.5074626865671642,1.0)"/>
290 </edges>
291 <edges xmi:type="notation:Edge" xmi:id="_868wYpL8EeqASt_f1N53dA" type="4001" element="_86BjU5L8EeqASt_f1N53dA" source="_86h5oJL8EeqASt_f1N53dA" target="_86kV4JL8EeqASt_f1N53dA">
292 <children xmi:type="notation:Node" xmi:id="_869XcJL8EeqASt_f1N53dA" type="6001">
293 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869XcZL8EeqASt_f1N53dA" y="-10"/>
294 </children>
295 <children xmi:type="notation:Node" xmi:id="_869XcpL8EeqASt_f1N53dA" type="6002">
296 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869Xc5L8EeqASt_f1N53dA" y="10"/>
297 </children>
298 <children xmi:type="notation:Node" xmi:id="_869XdJL8EeqASt_f1N53dA" type="6003">
299 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869XdZL8EeqASt_f1N53dA" y="10"/>
300 </children>
301 <styles xmi:type="notation:ConnectorStyle" xmi:id="_868wY5L8EeqASt_f1N53dA" routing="Tree"/>
302 <styles xmi:type="notation:FontStyle" xmi:id="_868wZJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
303 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_868wZZL8EeqASt_f1N53dA" points="[-1, 0, 179, 60]$[-181, -60, -1, 0]"/>
304 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_869-gJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
305 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_869-gZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
306 </edges>
307 <edges xmi:type="notation:Edge" xmi:id="_869-gpL8EeqASt_f1N53dA" type="4001" element="_86DYgJL8EeqASt_f1N53dA" source="_86e2UJL8EeqASt_f1N53dA" target="_86caE5L8EeqASt_f1N53dA">
308 <children xmi:type="notation:Node" xmi:id="_869-hpL8EeqASt_f1N53dA" type="6001">
309 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_869-h5L8EeqASt_f1N53dA" y="-10"/>
310 </children>
311 <children xmi:type="notation:Node" xmi:id="_86-lkJL8EeqASt_f1N53dA" type="6002">
312 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86-lkZL8EeqASt_f1N53dA" y="10"/>
313 </children>
314 <children xmi:type="notation:Node" xmi:id="_86-lkpL8EeqASt_f1N53dA" type="6003">
315 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86-lk5L8EeqASt_f1N53dA" y="10"/>
316 </children>
317 <styles xmi:type="notation:ConnectorStyle" xmi:id="_869-g5L8EeqASt_f1N53dA" routing="Tree"/>
318 <styles xmi:type="notation:FontStyle" xmi:id="_869-hJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
319 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_869-hZL8EeqASt_f1N53dA" points="[-1, 0, 92, 60]$[-94, -60, -1, 0]"/>
320 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86-llJL8EeqASt_f1N53dA" id="(0.5074626865671642,0.0)"/>
321 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86-llZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
322 </edges>
323 <edges xmi:type="notation:Edge" xmi:id="_86-llpL8EeqASt_f1N53dA" type="4001" element="_86D_lpL8EeqASt_f1N53dA" source="_86grgJL8EeqASt_f1N53dA" target="_86kV4JL8EeqASt_f1N53dA">
324 <children xmi:type="notation:Node" xmi:id="_86_MoJL8EeqASt_f1N53dA" type="6001">
325 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_MoZL8EeqASt_f1N53dA" y="-10"/>
326 </children>
327 <children xmi:type="notation:Node" xmi:id="_86_MopL8EeqASt_f1N53dA" type="6002">
328 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_Mo5L8EeqASt_f1N53dA" y="10"/>
329 </children>
330 <children xmi:type="notation:Node" xmi:id="_86_MpJL8EeqASt_f1N53dA" type="6003">
331 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_86_MpZL8EeqASt_f1N53dA" y="10"/>
332 </children>
333 <styles xmi:type="notation:ConnectorStyle" xmi:id="_86-ll5L8EeqASt_f1N53dA" routing="Tree"/>
334 <styles xmi:type="notation:FontStyle" xmi:id="_86-lmJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
335 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_86-lmZL8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
336 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86_zsJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
337 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_86_zsZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
338 </edges>
339 <edges xmi:type="notation:Edge" xmi:id="_87AawJL8EeqASt_f1N53dA" type="4001" element="_86FNs5L8EeqASt_f1N53dA" source="_86kV4JL8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
340 <children xmi:type="notation:Node" xmi:id="_87AaxJL8EeqASt_f1N53dA" type="6001">
341 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87AaxZL8EeqASt_f1N53dA" y="-10"/>
342 </children>
343 <children xmi:type="notation:Node" xmi:id="_87AaxpL8EeqASt_f1N53dA" type="6002">
344 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Aax5L8EeqASt_f1N53dA" y="10"/>
345 </children>
346 <children xmi:type="notation:Node" xmi:id="_87AayJL8EeqASt_f1N53dA" type="6003">
347 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87AayZL8EeqASt_f1N53dA" y="10"/>
348 </children>
349 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87AawZL8EeqASt_f1N53dA" routing="Tree"/>
350 <styles xmi:type="notation:FontStyle" xmi:id="_87AawpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
351 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87Aaw5L8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
352 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87BB0JL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
353 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87BB0ZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
354 </edges>
355 <edges xmi:type="notation:Edge" xmi:id="_87BB0pL8EeqASt_f1N53dA" type="4001" element="_86Gb05L8EeqASt_f1N53dA" source="_86lkAJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
356 <children xmi:type="notation:Node" xmi:id="_87Bo4JL8EeqASt_f1N53dA" type="6001">
357 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo4ZL8EeqASt_f1N53dA" y="-10"/>
358 </children>
359 <children xmi:type="notation:Node" xmi:id="_87Bo4pL8EeqASt_f1N53dA" type="6002">
360 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo45L8EeqASt_f1N53dA" y="10"/>
361 </children>
362 <children xmi:type="notation:Node" xmi:id="_87Bo5JL8EeqASt_f1N53dA" type="6003">
363 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Bo5ZL8EeqASt_f1N53dA" y="10"/>
364 </children>
365 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87BB05L8EeqASt_f1N53dA" routing="Tree"/>
366 <styles xmi:type="notation:FontStyle" xmi:id="_87BB1JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
367 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87BB1ZL8EeqASt_f1N53dA" points="[-1, 0, -95, 60]$[93, -60, -1, 0]"/>
368 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87CP8JL8EeqASt_f1N53dA" id="(0.5038759689922481,0.0)"/>
369 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87CP8ZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
370 </edges>
371 <edges xmi:type="notation:Edge" xmi:id="_87CP8pL8EeqASt_f1N53dA" type="4001" element="_86IRAJL8EeqASt_f1N53dA" source="_86oAQ5L8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
372 <children xmi:type="notation:Node" xmi:id="_87C3AJL8EeqASt_f1N53dA" type="6001">
373 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3AZL8EeqASt_f1N53dA" y="-10"/>
374 </children>
375 <children xmi:type="notation:Node" xmi:id="_87C3ApL8EeqASt_f1N53dA" type="6002">
376 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3A5L8EeqASt_f1N53dA" y="10"/>
377 </children>
378 <children xmi:type="notation:Node" xmi:id="_87C3BJL8EeqASt_f1N53dA" type="6003">
379 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87C3BZL8EeqASt_f1N53dA" y="10"/>
380 </children>
381 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87CP85L8EeqASt_f1N53dA" routing="Tree"/>
382 <styles xmi:type="notation:FontStyle" xmi:id="_87CP9JL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
383 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87CP9ZL8EeqASt_f1N53dA" points="[-1, 0, -281, 60]$[279, -60, -1, 0]"/>
384 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87DeEJL8EeqASt_f1N53dA" id="(0.5042016806722689,0.0)"/>
385 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87DeEZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
386 </edges>
387 <edges xmi:type="notation:Edge" xmi:id="_87DeEpL8EeqASt_f1N53dA" type="4001" element="_86KGMJL8EeqASt_f1N53dA" source="_86igs5L8EeqASt_f1N53dA" target="_86ak45L8EeqASt_f1N53dA">
388 <children xmi:type="notation:Node" xmi:id="_87DeFpL8EeqASt_f1N53dA" type="6001">
389 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87DeF5L8EeqASt_f1N53dA" y="-10"/>
390 </children>
391 <children xmi:type="notation:Node" xmi:id="_87EFIJL8EeqASt_f1N53dA" type="6002">
392 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EFIZL8EeqASt_f1N53dA" y="10"/>
393 </children>
394 <children xmi:type="notation:Node" xmi:id="_87EFIpL8EeqASt_f1N53dA" type="6003">
395 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EFI5L8EeqASt_f1N53dA" y="10"/>
396 </children>
397 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87DeE5L8EeqASt_f1N53dA" routing="Tree"/>
398 <styles xmi:type="notation:FontStyle" xmi:id="_87DeFJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
399 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87DeFZL8EeqASt_f1N53dA" points="[-1, 0, 179, 60]$[-181, -60, -1, 0]"/>
400 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87EFJJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
401 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87EFJZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
402 </edges>
403 <edges xmi:type="notation:Edge" xmi:id="_87EFJpL8EeqASt_f1N53dA" type="4001" element="_86L7YJL8EeqASt_f1N53dA" source="_86nZMJL8EeqASt_f1N53dA" target="_86bL9JL8EeqASt_f1N53dA">
404 <children xmi:type="notation:Node" xmi:id="_87EsMJL8EeqASt_f1N53dA" type="6001">
405 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87EsMZL8EeqASt_f1N53dA" y="-10"/>
406 </children>
407 <children xmi:type="notation:Node" xmi:id="_87FTQJL8EeqASt_f1N53dA" type="6002">
408 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87FTQZL8EeqASt_f1N53dA" y="10"/>
409 </children>
410 <children xmi:type="notation:Node" xmi:id="_87FTQpL8EeqASt_f1N53dA" type="6003">
411 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87FTQ5L8EeqASt_f1N53dA" y="10"/>
412 </children>
413 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87EFJ5L8EeqASt_f1N53dA" routing="Tree"/>
414 <styles xmi:type="notation:FontStyle" xmi:id="_87EFKJL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
415 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87EFKZL8EeqASt_f1N53dA" points="[-1, 0, 91, 60]$[-93, -60, -1, 0]"/>
416 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87FTRJL8EeqASt_f1N53dA" id="(0.5084745762711864,0.0)"/>
417 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87FTRZL8EeqASt_f1N53dA" id="(0.5084745762711864,1.0)"/>
418 </edges>
419 <edges xmi:type="notation:Edge" xmi:id="_87F6UJL8EeqASt_f1N53dA" type="4001" element="_86Mic5L8EeqASt_f1N53dA" source="_86ZWwJL8EeqASt_f1N53dA" target="_86YIpJL8EeqASt_f1N53dA">
420 <children xmi:type="notation:Node" xmi:id="_87F6VJL8EeqASt_f1N53dA" type="6001">
421 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87F6VZL8EeqASt_f1N53dA" y="-10"/>
422 </children>
423 <children xmi:type="notation:Node" xmi:id="_87F6VpL8EeqASt_f1N53dA" type="6002">
424 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87F6V5L8EeqASt_f1N53dA" y="10"/>
425 </children>
426 <children xmi:type="notation:Node" xmi:id="_87F6WJL8EeqASt_f1N53dA" type="6003">
427 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87GhYJL8EeqASt_f1N53dA" y="10"/>
428 </children>
429 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87F6UZL8EeqASt_f1N53dA" routing="Tree"/>
430 <styles xmi:type="notation:FontStyle" xmi:id="_87F6UpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
431 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87F6U5L8EeqASt_f1N53dA" points="[-1, 0, -100, 60]$[98, -60, -1, 0]"/>
432 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87GhYZL8EeqASt_f1N53dA" id="(0.5070422535211268,0.0)"/>
433 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87GhYpL8EeqASt_f1N53dA" id="(0.5074626865671642,1.0)"/>
434 </edges>
435 <edges xmi:type="notation:Edge" xmi:id="_87HvgJL8EeqASt_f1N53dA" type="4001" element="_86Nwk5L8EeqASt_f1N53dA" source="_86XhkJL8EeqASt_f1N53dA" target="_86UeQJL8EeqASt_f1N53dA">
436 <children xmi:type="notation:Node" xmi:id="_87I9oJL8EeqASt_f1N53dA" type="6001">
437 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87I9oZL8EeqASt_f1N53dA" y="-10"/>
438 </children>
439 <children xmi:type="notation:Node" xmi:id="_87KLwJL8EeqASt_f1N53dA" type="6002">
440 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87KLwZL8EeqASt_f1N53dA" y="10"/>
441 </children>
442 <children xmi:type="notation:Node" xmi:id="_87Ky0JL8EeqASt_f1N53dA" type="6003">
443 <layoutConstraint xmi:type="notation:Bounds" xmi:id="_87Ky0ZL8EeqASt_f1N53dA" y="10"/>
444 </children>
445 <styles xmi:type="notation:ConnectorStyle" xmi:id="_87HvgZL8EeqASt_f1N53dA" routing="Tree"/>
446 <styles xmi:type="notation:FontStyle" xmi:id="_87HvgpL8EeqASt_f1N53dA" fontName="Segoe UI" fontHeight="8"/>
447 <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_87Hvg5L8EeqASt_f1N53dA" points="[-1, 0, -1, 60]$[-1, -60, -1, 0]"/>
448 <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87LZ4JL8EeqASt_f1N53dA" id="(0.5074626865671642,0.0)"/>
449 <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_87LZ4ZL8EeqASt_f1N53dA" id="(0.5042016806722689,1.0)"/>
450 </edges>
451 </data>
452 </ownedAnnotationEntries>
453 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85BdwJL8EeqASt_f1N53dA" name="ConstellationMission" tooltipText="" outgoingEdges="_853yUJL8EeqASt_f1N53dA _855ng5L8EeqASt_f1N53dA" incomingEdges="_86Nwk5L8EeqASt_f1N53dA" width="12" height="10">
454 <target xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
455 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//ConstellationMission"/>
456 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85Cr4JL8EeqASt_f1N53dA" 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">
457 <labelFormat>italic</labelFormat>
458 <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"/>
459 </ownedStyle>
460 <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']"/>
461 </ownedDiagramElements>
462 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85FvMJL8EeqASt_f1N53dA" name="InterferometryMission" tooltipText="" outgoingEdges="_86Nwk5L8EeqASt_f1N53dA" width="12" height="10">
463 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
464 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
465 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85GWQJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
466 <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"/>
467 </ownedStyle>
468 <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']"/>
469 </ownedDiagramElements>
470 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85G9UJL8EeqASt_f1N53dA" name="CommunicatingElement" tooltipText="" outgoingEdges="_8561ppL8EeqASt_f1N53dA" incomingEdges="_85_HEJL8EeqASt_f1N53dA _86Mic5L8EeqASt_f1N53dA" width="12" height="10">
471 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
472 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommunicatingElement"/>
473 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85HkYJL8EeqASt_f1N53dA" 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">
474 <labelFormat>italic</labelFormat>
475 <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"/>
476 </ownedStyle>
477 <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']"/>
478 </ownedDiagramElements>
479 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85ILcJL8EeqASt_f1N53dA" name="GroundStationNetwork" tooltipText="" outgoingEdges="_86Mic5L8EeqASt_f1N53dA" incomingEdges="_853yUJL8EeqASt_f1N53dA" width="12" height="10">
480 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
481 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
482 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85IygJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
483 <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"/>
484 </ownedStyle>
485 <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']"/>
486 </ownedDiagramElements>
487 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85JZkJL8EeqASt_f1N53dA" name="Spacecraft" tooltipText="" outgoingEdges="_858DxpL8EeqASt_f1N53dA _85_HEJL8EeqASt_f1N53dA" incomingEdges="_855ng5L8EeqASt_f1N53dA _86FNs5L8EeqASt_f1N53dA _86KGMJL8EeqASt_f1N53dA" width="12" height="10">
488 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
489 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
490 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85KAoJL8EeqASt_f1N53dA" 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">
491 <labelFormat>italic</labelFormat>
492 <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"/>
493 </ownedStyle>
494 <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']"/>
495 </ownedDiagramElements>
496 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85KnsJL8EeqASt_f1N53dA" name="CommSubsystem" tooltipText="" outgoingEdges="_859R5pL8EeqASt_f1N53dA" incomingEdges="_8561ppL8EeqASt_f1N53dA _859R5pL8EeqASt_f1N53dA _86Gb05L8EeqASt_f1N53dA _86IRAJL8EeqASt_f1N53dA _86L7YJL8EeqASt_f1N53dA" width="12" height="10">
497 <target xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
498 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CommSubsystem"/>
499 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_gEj6QZMEEeqASt_f1N53dA" 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">
500 <labelFormat>italic</labelFormat>
501 <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"/>
502 </ownedStyle>
503 <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']"/>
504 <ownedElements xmi:type="diagram:DNodeListElement" uid="_HnfLkJL9EeqASt_f1N53dA" name="frequency : EInt" tooltipText="">
505 <target xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/frequency"/>
506 <semanticElements xmi:type="ecore:EAttribute" href="satellite.ecore#//CommSubsystem/frequency"/>
507 <ownedStyle xmi:type="diagram:BundledImage" uid="_gEoLspMEEeqASt_f1N53dA" labelAlignment="LEFT" description="_gEoLsJMEEeqASt_f1N53dA">
508 <labelFormat>bold</labelFormat>
509 </ownedStyle>
510 <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']"/>
511 </ownedElements>
512 </ownedDiagramElements>
513 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85Mc4JL8EeqASt_f1N53dA" name="Payload" tooltipText="" incomingEdges="_858DxpL8EeqASt_f1N53dA _86DYgJL8EeqASt_f1N53dA" width="12" height="10">
514 <target xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
515 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Payload"/>
516 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85ND8JL8EeqASt_f1N53dA" 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">
517 <labelFormat>italic</labelFormat>
518 <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"/>
519 </ownedStyle>
520 <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']"/>
521 </ownedDiagramElements>
522 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85NrAJL8EeqASt_f1N53dA" name="InterferometryPayload" tooltipText="" outgoingEdges="_86DYgJL8EeqASt_f1N53dA" width="12" height="10">
523 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
524 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
525 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85OSEJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
526 <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"/>
527 </ownedStyle>
528 <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']"/>
529 </ownedDiagramElements>
530 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85PgMJL8EeqASt_f1N53dA" name="CubeSat3U" tooltipText="" outgoingEdges="_86D_lpL8EeqASt_f1N53dA" width="12" height="10">
531 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
532 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
533 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85QHQJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
534 <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"/>
535 </ownedStyle>
536 <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']"/>
537 </ownedDiagramElements>
538 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85RVYJL8EeqASt_f1N53dA" name="CubeSat6U" tooltipText="" outgoingEdges="_86BjU5L8EeqASt_f1N53dA" width="12" height="10">
539 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
540 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
541 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85R8cJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
542 <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"/>
543 </ownedStyle>
544 <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']"/>
545 </ownedDiagramElements>
546 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85SjgJL8EeqASt_f1N53dA" name="SmallSat" tooltipText="" outgoingEdges="_86KGMJL8EeqASt_f1N53dA" width="12" height="10">
547 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
548 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
549 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85TKkJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
550 <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"/>
551 </ownedStyle>
552 <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']"/>
553 </ownedDiagramElements>
554 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85UYsJL8EeqASt_f1N53dA" name="CubeSat" tooltipText="" outgoingEdges="_86FNs5L8EeqASt_f1N53dA" incomingEdges="_86BjU5L8EeqASt_f1N53dA _86D_lpL8EeqASt_f1N53dA" width="12" height="10">
555 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
556 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
557 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85U_wJL8EeqASt_f1N53dA" 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">
558 <labelFormat>italic</labelFormat>
559 <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"/>
560 </ownedStyle>
561 <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']"/>
562 </ownedDiagramElements>
563 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85WN4JL8EeqASt_f1N53dA" name="UHFCommSubsystem" tooltipText="" outgoingEdges="_86Gb05L8EeqASt_f1N53dA" width="12" height="10">
564 <target xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
565 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
566 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85WN4ZL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
567 <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"/>
568 </ownedStyle>
569 <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']"/>
570 </ownedDiagramElements>
571 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85XcAJL8EeqASt_f1N53dA" name="XCommSubsystem" tooltipText="" outgoingEdges="_86L7YJL8EeqASt_f1N53dA" width="12" height="10">
572 <target xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
573 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
574 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85YDEJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
575 <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"/>
576 </ownedStyle>
577 <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']"/>
578 </ownedDiagramElements>
579 <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_85YqIJL8EeqASt_f1N53dA" name="KaCommSubsystem" tooltipText="" outgoingEdges="_86IRAJL8EeqASt_f1N53dA" width="12" height="10">
580 <target xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
581 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
582 <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_85ZRMJL8EeqASt_f1N53dA" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
583 <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"/>
584 </ownedStyle>
585 <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']"/>
586 </ownedDiagramElements>
587 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_853yUJL8EeqASt_f1N53dA" name="[1..1] groundStationNetwork" sourceNode="_85BdwJL8EeqASt_f1N53dA" targetNode="_85ILcJL8EeqASt_f1N53dA">
588 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
589 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/groundStationNetwork"/>
590 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_855Ac5L8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
591 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_855AdZL8EeqASt_f1N53dA" showIcon="false">
592 <customFeatures>labelSize</customFeatures>
593 <labelFormat>bold</labelFormat>
594 </centerLabelStyle>
595 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_855AdJL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
596 <customFeatures>labelSize</customFeatures>
597 </endLabelStyle>
598 </ownedStyle>
599 <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']"/>
600 </ownedDiagramElements>
601 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_855ng5L8EeqASt_f1N53dA" name="[2..*] spacecraft" sourceNode="_85BdwJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
602 <target xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
603 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//ConstellationMission/spacecraft"/>
604 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_8561oJL8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
605 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_8561opL8EeqASt_f1N53dA" showIcon="false">
606 <customFeatures>labelSize</customFeatures>
607 <labelFormat>bold</labelFormat>
608 </centerLabelStyle>
609 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_8561oZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
610 <customFeatures>labelSize</customFeatures>
611 </endLabelStyle>
612 </ownedStyle>
613 <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']"/>
614 </ownedDiagramElements>
615 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_8561ppL8EeqASt_f1N53dA" name="[1..2] commSubsystem" sourceNode="_85G9UJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
616 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
617 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommunicatingElement/commSubsystem"/>
618 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_858DwJL8EeqASt_f1N53dA" description="_855AcJL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
619 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_858DwpL8EeqASt_f1N53dA" showIcon="false">
620 <customFeatures>labelSize</customFeatures>
621 <labelFormat>bold</labelFormat>
622 </centerLabelStyle>
623 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_858DwZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
624 <customFeatures>labelSize</customFeatures>
625 </endLabelStyle>
626 </ownedStyle>
627 <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']"/>
628 </ownedDiagramElements>
629 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_858DxpL8EeqASt_f1N53dA" name="[0..1] payload" sourceNode="_85JZkJL8EeqASt_f1N53dA" targetNode="_85Mc4JL8EeqASt_f1N53dA">
630 <target xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
631 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//Spacecraft/payload"/>
632 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_859R4JL8EeqASt_f1N53dA" description="_858q0JL8EeqASt_f1N53dA" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
633 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_859R4pL8EeqASt_f1N53dA" showIcon="false">
634 <customFeatures>labelSize</customFeatures>
635 </centerLabelStyle>
636 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_859R4ZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
637 <customFeatures>labelSize</customFeatures>
638 </endLabelStyle>
639 </ownedStyle>
640 <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']"/>
641 </ownedDiagramElements>
642 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_859R5pL8EeqASt_f1N53dA" name="[0..1] target" sourceNode="_85KnsJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
643 <target xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/target"/>
644 <semanticElements xmi:type="ecore:EReference" href="satellite.ecore#//CommSubsystem/target"/>
645 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_85948JL8EeqASt_f1N53dA" routingStyle="manhattan" strokeColor="0,0,0">
646 <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_EReference']/@style"/>
647 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_85948pL8EeqASt_f1N53dA" showIcon="false">
648 <customFeatures>labelSize</customFeatures>
649 </centerLabelStyle>
650 <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_85948ZL8EeqASt_f1N53dA" showIcon="false" labelColor="39,76,114">
651 <customFeatures>labelSize</customFeatures>
652 </endLabelStyle>
653 </ownedStyle>
654 <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']"/>
655 </ownedDiagramElements>
656 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_85_HEJL8EeqASt_f1N53dA" sourceNode="_85JZkJL8EeqASt_f1N53dA" targetNode="_85G9UJL8EeqASt_f1N53dA">
657 <target xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
658 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//Spacecraft"/>
659 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86A8QJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
660 <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"/>
661 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86A8QZL8EeqASt_f1N53dA" showIcon="false">
662 <labelFormat>italic</labelFormat>
663 </beginLabelStyle>
664 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86A8QpL8EeqASt_f1N53dA" showIcon="false"/>
665 </ownedStyle>
666 <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']"/>
667 </ownedDiagramElements>
668 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86BjU5L8EeqASt_f1N53dA" sourceNode="_85RVYJL8EeqASt_f1N53dA" targetNode="_85UYsJL8EeqASt_f1N53dA">
669 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
670 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat6U"/>
671 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86CxcJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
672 <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"/>
673 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86CxcZL8EeqASt_f1N53dA" showIcon="false">
674 <labelFormat>italic</labelFormat>
675 </beginLabelStyle>
676 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86CxcpL8EeqASt_f1N53dA" showIcon="false"/>
677 </ownedStyle>
678 <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']"/>
679 </ownedDiagramElements>
680 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86DYgJL8EeqASt_f1N53dA" sourceNode="_85NrAJL8EeqASt_f1N53dA" targetNode="_85Mc4JL8EeqASt_f1N53dA">
681 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
682 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryPayload"/>
683 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86D_kJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
684 <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"/>
685 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86D_kZL8EeqASt_f1N53dA" showIcon="false">
686 <labelFormat>italic</labelFormat>
687 </beginLabelStyle>
688 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86D_kpL8EeqASt_f1N53dA" showIcon="false"/>
689 </ownedStyle>
690 <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']"/>
691 </ownedDiagramElements>
692 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86D_lpL8EeqASt_f1N53dA" sourceNode="_85PgMJL8EeqASt_f1N53dA" targetNode="_85UYsJL8EeqASt_f1N53dA">
693 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
694 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat3U"/>
695 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86EmoJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
696 <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"/>
697 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86EmoZL8EeqASt_f1N53dA" showIcon="false">
698 <labelFormat>italic</labelFormat>
699 </beginLabelStyle>
700 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86EmopL8EeqASt_f1N53dA" showIcon="false"/>
701 </ownedStyle>
702 <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']"/>
703 </ownedDiagramElements>
704 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86FNs5L8EeqASt_f1N53dA" sourceNode="_85UYsJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
705 <target xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
706 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//CubeSat"/>
707 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86F0wJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
708 <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"/>
709 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86F0wZL8EeqASt_f1N53dA" showIcon="false">
710 <labelFormat>italic</labelFormat>
711 </beginLabelStyle>
712 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86F0wpL8EeqASt_f1N53dA" showIcon="false"/>
713 </ownedStyle>
714 <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']"/>
715 </ownedDiagramElements>
716 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Gb05L8EeqASt_f1N53dA" sourceNode="_85WN4JL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
717 <target xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
718 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//UHFCommSubsystem"/>
719 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86Hp8JL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
720 <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"/>
721 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86Hp8ZL8EeqASt_f1N53dA" showIcon="false">
722 <labelFormat>italic</labelFormat>
723 </beginLabelStyle>
724 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86Hp8pL8EeqASt_f1N53dA" showIcon="false"/>
725 </ownedStyle>
726 <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']"/>
727 </ownedDiagramElements>
728 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86IRAJL8EeqASt_f1N53dA" sourceNode="_85YqIJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
729 <target xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
730 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//KaCommSubsystem"/>
731 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86I4EJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
732 <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"/>
733 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86I4EZL8EeqASt_f1N53dA" showIcon="false">
734 <labelFormat>italic</labelFormat>
735 </beginLabelStyle>
736 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86I4EpL8EeqASt_f1N53dA" showIcon="false"/>
737 </ownedStyle>
738 <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']"/>
739 </ownedDiagramElements>
740 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86KGMJL8EeqASt_f1N53dA" sourceNode="_85SjgJL8EeqASt_f1N53dA" targetNode="_85JZkJL8EeqASt_f1N53dA">
741 <target xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
742 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//SmallSat"/>
743 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86KGMZL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
744 <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"/>
745 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86KGMpL8EeqASt_f1N53dA" showIcon="false">
746 <labelFormat>italic</labelFormat>
747 </beginLabelStyle>
748 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86KtQJL8EeqASt_f1N53dA" showIcon="false"/>
749 </ownedStyle>
750 <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']"/>
751 </ownedDiagramElements>
752 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86L7YJL8EeqASt_f1N53dA" sourceNode="_85XcAJL8EeqASt_f1N53dA" targetNode="_85KnsJL8EeqASt_f1N53dA">
753 <target xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
754 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//XCommSubsystem"/>
755 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86L7YZL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
756 <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"/>
757 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86L7YpL8EeqASt_f1N53dA" showIcon="false">
758 <labelFormat>italic</labelFormat>
759 </beginLabelStyle>
760 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86L7Y5L8EeqASt_f1N53dA" showIcon="false"/>
761 </ownedStyle>
762 <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']"/>
763 </ownedDiagramElements>
764 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Mic5L8EeqASt_f1N53dA" sourceNode="_85ILcJL8EeqASt_f1N53dA" targetNode="_85G9UJL8EeqASt_f1N53dA">
765 <target xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
766 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//GroundStationNetwork"/>
767 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86NJgJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
768 <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"/>
769 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86NJgZL8EeqASt_f1N53dA" showIcon="false">
770 <labelFormat>italic</labelFormat>
771 </beginLabelStyle>
772 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86NJgpL8EeqASt_f1N53dA" showIcon="false"/>
773 </ownedStyle>
774 <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']"/>
775 </ownedDiagramElements>
776 <ownedDiagramElements xmi:type="diagram:DEdge" uid="_86Nwk5L8EeqASt_f1N53dA" sourceNode="_85FvMJL8EeqASt_f1N53dA" targetNode="_85BdwJL8EeqASt_f1N53dA">
777 <target xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
778 <semanticElements xmi:type="ecore:EClass" href="satellite.ecore#//InterferometryMission"/>
779 <ownedStyle xmi:type="diagram:EdgeStyle" uid="_86OXoJL8EeqASt_f1N53dA" targetArrow="InputClosedArrow" routingStyle="tree">
780 <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"/>
781 <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_86OXoZL8EeqASt_f1N53dA" showIcon="false">
782 <labelFormat>italic</labelFormat>
783 </beginLabelStyle>
784 <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_86OXopL8EeqASt_f1N53dA" showIcon="false"/>
785 </ownedStyle>
786 <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']"/>
787 </ownedDiagramElements>
788 <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
789 <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_8N3A4JL8EeqASt_f1N53dA"/>
790 <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
791 <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']"/>
792 <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']"/>
793 <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']"/>
794 <target xmi:type="ecore:EPackage" href="satellite.ecore#/"/>
795 </diagram:DSemanticDiagram>
796</xmi:XMI>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
new file mode 100644
index 00000000..362df382
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
@@ -0,0 +1,36 @@
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="satellite" nsURI="http://www.example.org/satellite" nsPrefix="satellite">
4 <eClassifiers xsi:type="ecore:EClass" name="ConstellationMission" abstract="true">
5 <eStructuralFeatures xsi:type="ecore:EReference" name="groundStationNetwork" lowerBound="1"
6 eType="#//GroundStationNetwork" containment="true"/>
7 <eStructuralFeatures xsi:type="ecore:EReference" name="spacecraft" lowerBound="2"
8 upperBound="-1" eType="#//Spacecraft" containment="true"/>
9 </eClassifiers>
10 <eClassifiers xsi:type="ecore:EClass" name="InterferometryMission" eSuperTypes="#//ConstellationMission"/>
11 <eClassifiers xsi:type="ecore:EClass" name="CommunicatingElement" abstract="true">
12 <eStructuralFeatures xsi:type="ecore:EReference" name="commSubsystem" lowerBound="1"
13 upperBound="2" eType="#//CommSubsystem" containment="true"/>
14 </eClassifiers>
15 <eClassifiers xsi:type="ecore:EClass" name="GroundStationNetwork" eSuperTypes="#//CommunicatingElement"/>
16 <eClassifiers xsi:type="ecore:EClass" name="Spacecraft" abstract="true" eSuperTypes="#//CommunicatingElement">
17 <eStructuralFeatures xsi:type="ecore:EReference" name="payload" eType="#//Payload"
18 containment="true"/>
19 </eClassifiers>
20 <eClassifiers xsi:type="ecore:EClass" name="CommSubsystem" abstract="true">
21 <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//CommSubsystem"/>
22 <eStructuralFeatures xsi:type="ecore:EAttribute" name="frequency" lowerBound="1"
23 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
24 <eStructuralFeatures xsi:type="ecore:EAttribute" name="pathLength" lowerBound="1"
25 eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
26 </eClassifiers>
27 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
28 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/>
29 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/>
30 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/>
31 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/>
32 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/>
33 <eClassifiers xsi:type="ecore:EClass" name="UHFCommSubsystem" eSuperTypes="#//CommSubsystem"/>
34 <eClassifiers xsi:type="ecore:EClass" name="XCommSubsystem" eSuperTypes="#//CommSubsystem"/>
35 <eClassifiers xsi:type="ecore:EClass" name="KaCommSubsystem" eSuperTypes="#//CommSubsystem"/>
36</ecore:EPackage>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
new file mode 100644
index 00000000..4d04fed0
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
@@ -0,0 +1,41 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3 xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel"
4 modelDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen"
5 creationIcons="false" editDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.edit/src-gen"
6 editorDirectory="/hu.bme.mit.inf.dslreasoner.domains.satellite.editor/src-gen"
7 modelPluginID="hu.bme.mit.inf.dslreasoner.domains.satellite" modelName="Satellite"
8 rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" codeFormatting="true"
9 importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" copyrightFields="false"
10 operationReflection="true" importOrganizing="true">
11 <foreignModel>satellite.ecore</foreignModel>
12 <testsDirectory xsi:nil="true"/>
13 <genPackages prefix="Satellite" disposableProviderFactory="true" ecorePackage="satellite.ecore#/">
14 <genClasses image="false" ecoreClass="satellite.ecore#//ConstellationMission">
15 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/groundStationNetwork"/>
16 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//ConstellationMission/spacecraft"/>
17 </genClasses>
18 <genClasses ecoreClass="satellite.ecore#//InterferometryMission"/>
19 <genClasses image="false" ecoreClass="satellite.ecore#//CommunicatingElement">
20 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//CommunicatingElement/commSubsystem"/>
21 </genClasses>
22 <genClasses ecoreClass="satellite.ecore#//GroundStationNetwork"/>
23 <genClasses image="false" ecoreClass="satellite.ecore#//Spacecraft">
24 <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference satellite.ecore#//Spacecraft/payload"/>
25 </genClasses>
26 <genClasses ecoreClass="satellite.ecore#//CommSubsystem">
27 <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference satellite.ecore#//CommSubsystem/target"/>
28 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/frequency"/>
29 <genFeatures createChild="false" ecoreFeature="ecore:EAttribute satellite.ecore#//CommSubsystem/pathLength"/>
30 </genClasses>
31 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/>
32 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/>
33 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
34 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
35 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
36 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
37 <genClasses ecoreClass="satellite.ecore#//UHFCommSubsystem"/>
38 <genClasses ecoreClass="satellite.ecore#//XCommSubsystem"/>
39 <genClasses ecoreClass="satellite.ecore#//KaCommSubsystem"/>
40 </genPackages>
41</genmodel:GenModel>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.properties b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.properties
new file mode 100644
index 00000000..7463353c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.properties
@@ -0,0 +1,4 @@
1#
2
3pluginName = hu.bme.mit.inf.dslreasoner.domains.satellite
4providerName = www.example.org
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
new file mode 100644
index 00000000..419d8640
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -0,0 +1,30 @@
1<?xml version="1.0" encoding="UTF-8"?><?eclipse version="3.0"?><!--
2--><plugin>
3 <extension point="org.eclipse.emf.ecore.generated_package">
4 <!-- @generated satellite -->
5 <package class="satellite.SatellitePackage" genModel="model/satellite.genmodel" uri="http://www.example.org/satellite"/>
6 </extension>
7 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
8 <group group="org.eclipse.viatra.query.runtime.extensibility.SingletonExtensionFactory:hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries">
9 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
10 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/>
11 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/>
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.differentFrequency"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForUHF"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForUHF"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForKaComm"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForKaComm"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighFrequencyForXComm"/>
24 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowFrequencyForXComm"/>
25 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooHighPathLengthForSatelite"/>
26 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForSatelite"/>
27 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.tooLowPathLengthForGroundStation"/>
28 </group>
29 </extension>
30</plugin>
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
new file mode 100644
index 00000000..57b5933a
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql
@@ -0,0 +1,390 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.queries
2
3import "http://www.example.org/satellite"
4
5@Constraint(severity = "error", key = {Element},
6 message = "A communicating element may not have two transmitting communication subsystems.")
7pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) {
8 find transmittingCommSubsystem(Element, Comm1);
9 find transmittingCommSubsystem(Element, Comm2);
10 Comm1 != Comm2;
11}
12
13private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem) {
14 CommunicatingElement.commSubsystem(Element, Comm);
15 CommSubsystem.target(Comm, _);
16}
17
18@Constraint(severity = "error", key = {Station},
19 message = "The ground station network may not have outgoing communication links.")
20pattern transmittingGroundStationNetwork(Station : GroundStationNetwork) {
21 find transmittingCommSubsystem(Station, _);
22}
23
24@Constraint(severity = "error", key = {Station},
25 message = "The ground station network may not have UHF communication subsystems.")
26pattern roundStationNetworkUHF(Station : GroundStationNetwork) {
27 CommunicatingElement.commSubsystem(Station, Comm);
28 UHFCommSubsystem(Comm);
29}
30
31// At least two spacecraft must have the interferometry payload configured
32
33@Constraint(severity = "error", key = {Mission},
34 message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.")
35pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) {
36 InterferometryMission(Mission);
37 neg find atLeastTwoInterferometryPayloads(Mission);
38}
39
40private pattern atLeastTwoInterferometryPayloads(Mission : InterferometryMission) {
41 find spacecraftWithInterferometryPayload(Mission, Spacecraft1);
42 find spacecraftWithInterferometryPayload(Mission, Spacecraft2);
43 Spacecraft1 != Spacecraft2;
44}
45
46private pattern spacecraftWithInterferometryPayload(Mission : ConstellationMission, Spacecraft : Spacecraft) {
47 ConstellationMission.spacecraft(Mission, Spacecraft);
48 Spacecraft.payload(Spacecraft, Payload);
49 InterferometryPayload(Payload);
50}
51
52// All spacecraft must have some communication path to the ground station
53
54//@Constraint(severity = "error", key = {Spacecraft},
55// message = "Spacecraft has no communication path to the ground station.")
56//pattern noLinkToGroundStation(Spacecraft : Spacecraft) {
57// ConstellationMission.groundStationNetwork(Mission, GroundStation);
58// ConstellationMission.spacecraft(Mission, Spacecraft);
59// neg find indirectCommunicationLink(Spacecraft, GroundStation);
60//}
61
62//@Constraint(severity = "error", key = {Spacecraft}, message = "UNSAT")
63//pattern unsat_linkToGroundStation(Spacecraft : Spacecraft) {
64// ConstellationMission.groundStationNetwork(Mission, GroundStation);
65// ConstellationMission.spacecraft(Mission, Spacecraft);
66// find indirectCommunicationLink(Spacecraft, GroundStation);
67//}
68
69//@Constraint(severity = "error", key = {Mission}, message = "UNSAT")
70//pattern unsat_linkToGroundStation(Mission : InterferometryMission) {
71// InterferometryMission(Mission);
72// neg find noLinkToGroundStation(_);
73//}
74
75//@Constraint(severity = "error", key = {Spacecraft},
76// message = "Spacecraft has no potential communication path to the ground station.")
77//pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) {
78// ConstellationMission.groundStationNetwork(Mission, GroundStation);
79// ConstellationMission.spacecraft(Mission, Spacecraft);
80// neg find indirectLinkAllowed(Spacecraft, GroundStation);
81//}
82
83//private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) {
84// find linkAllowed+(From, To);
85//}
86
87//private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) {
88// find matchingAntenna(From, To);
89// neg find cubeSat3U(From);
90//} or {
91// find matchingAntenna(From, To);
92// CubeSat3U(From);
93//} or {
94// find matchingAntenna(From, To);
95// CubeSat3U(From);
96// GroundStationNetwork(To);
97//}
98
99//private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) {
100// CommunicatingElement.commSubsystem(From, FromSys);
101// CommunicatingElement.commSubsystem(To, ToSys);
102// find matchingCommSubsystem(FromSys, ToSys);
103//}
104
105private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) {
106 UHFCommSubsystem(From);
107 UHFCommSubsystem(To);
108} or {
109 XCommSubsystem(From);
110 XCommSubsystem(To);
111} or {
112 KaCommSubsystem(From);
113 KaCommSubsystem(To);
114}
115
116//private pattern cubeSat3U(Sat : CubeSat3U) {
117// CubeSat3U(Sat);
118//}
119
120// No communication loops may exist
121// No spacecraft may directly communicate with itself
122
123@Constraint(severity = "error", key = {Element},
124 message = "Communication loop.")
125pattern communicationLoop(Element : CommunicatingElement) {
126 find indirectCommunicationLink(Element, Element);
127}
128
129private pattern indirectCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) {
130 find directCommunicationLink+(Source, Target);
131}
132
133private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) {
134 CommSubsystem.target(SourceSubsystem, TargetSubsystem);
135 CommunicatingElement.commSubsystem(Source, SourceSubsystem);
136 CommunicatingElement.commSubsystem(Target, TargetSubsystem);
137}
138
139// Source and target communication systems must be compatible.
140
141@Constraint(severity = "error", key = {SourceSubsystem},
142 message = "Two ends of a communication link must use the same band.")
143pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) {
144 CommSubsystem.target(SourceSubsystem, TargetSubsystem);
145 neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem);
146}
147
148// 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter,
149// but cross-link using UHF
150
151@Constraint(severity = "error", key = {Sat},
152 message = "3U CubeSats can only cross-link using UHF.")
153pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) {
154 CommunicatingElement.commSubsystem(Sat, SourceComm);
155 neg find commSubsystemBandUhf(SourceComm);
156 CommSubsystem.target(SourceComm, TargetComm);
157 CommunicatingElement.commSubsystem(Target, TargetComm);
158 neg find groundStationNetwork(Target);
159}
160
161private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) {
162 UHFCommSubsystem(Comm);
163}
164
165private pattern groundStationNetwork(Network : GroundStationNetwork) {
166 GroundStationNetwork(Network);
167}
168
169// Only a Small Satellite can be configured with a Ka-band communication system
170
171@Constraint(severity = "error", key = {Spacecraft},
172 message = "Only a Small Satellite can be configured with a Ka-band communication system.")
173pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) {
174 CommunicatingElement.commSubsystem(Spacecraft, Comm);
175 KaCommSubsystem(Comm);
176 neg find smallSat(Spacecraft);
177}
178
179pattern smallSat(Sat : SmallSat) {
180 SmallSat(Sat);
181}
182
183@Constraint(severity = "error", key = {c1,c2}, message = "error")
184pattern differentFrequency(c1 : CommSubsystem, c2 : CommSubsystem) {
185 CommSubsystem.target(c1,c2);
186 CommSubsystem.frequency(c1,f1);
187 CommSubsystem.frequency(c2,f2);
188 check(f1!=f2);
189}
190
191@Constraint(severity = "error", key = {s,s}, message = "error")
192pattern tooHighFrequencyForUHF(s : UHFCommSubsystem) {
193 UHFCommSubsystem(s);
194 CommSubsystem.frequency(s,f);
195 check(f>1000);//1GHz
196}
197@Constraint(severity = "error", key = {s,s}, message = "error")
198pattern tooLowFrequencyForUHF(s : UHFCommSubsystem) {
199 UHFCommSubsystem(s);
200 CommSubsystem.frequency(s,f);
201 check(f<300);//300MHz
202}
203@Constraint(severity = "error", key = {s,s}, message = "error")
204pattern tooHighFrequencyForKaComm(s : KaCommSubsystem) {
205 KaCommSubsystem(s);
206 CommSubsystem.frequency(s,f);
207 check(f>40000);//40GHz
208}
209@Constraint(severity = "error", key = {s,s}, message = "error")
210pattern tooLowFrequencyForKaComm(s : KaCommSubsystem) {
211 KaCommSubsystem(s);
212 CommSubsystem.frequency(s,f);
213 check(f<26500);//26.5GHz
214}
215@Constraint(severity = "error", key = {s,s}, message = "error")
216pattern tooHighFrequencyForXComm(s : XCommSubsystem) {
217 XCommSubsystem(s);
218 CommSubsystem.frequency(s,f);
219 check(f>12000);//12GHz
220}
221@Constraint(severity = "error", key = {s,s}, message = "error")
222pattern tooLowFrequencyForXComm(s : XCommSubsystem) {
223 XCommSubsystem(s);
224 CommSubsystem.frequency(s,f);
225 check(f<8000);//8GHz
226}
227@Constraint(severity = "error", key = {s,s}, message = "error")
228pattern tooHighPathLengthForSatelite(s:CommSubsystem) {
229 CommSubsystem.pathLength(s,l);
230 CommSubsystem.target(s,ts);
231 Spacecraft.commSubsystem(_,ts);
232 check(l>250);//250km
233}
234@Constraint(severity = "error", key = {s,s}, message = "error")
235pattern tooLowPathLengthForSatelite(s:CommSubsystem) {
236 CommSubsystem.pathLength(s,l);
237 CommSubsystem.target(s,ts);
238 Spacecraft.commSubsystem(_,ts);
239 check(l<150);//150km
240}
241@Constraint(severity = "error", key = {s,s}, message = "error")
242pattern tooLowPathLengthForGroundStation(s:CommSubsystem) {
243 CommSubsystem.pathLength(s,l);
244 CommSubsystem.target(s,ts);
245 GroundStationNetwork.commSubsystem(_,ts);
246 check(l!=385000);//385.000km
247}
248////
249//// Metrics
250////
251//
252//// Coverage
253//
254//pattern coverageMetric(Coverage : java Double) {
255// Coverage == sum find missionCoverage(_, #_);
256//}
257//
258//private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) {
259// InterferometryMission.observationTime(Mission, ObservationTime);
260// ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _);
261// Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3);
262//}
263//
264//// Time
265//
266//pattern timeMetric(Time : java Double) {
267// Time == sum find missionTime(_, #_);
268//}
269//
270//private pattern missionTime(Mission : InterferometryMission, Time : java Double) {
271// InterferometryMission.observationTime(Mission, ObservationTime);
272// TrasmitTime == sum find transmitTime(Mission, _, #_);
273// Time == eval(TrasmitTime + 60.0 * ObservationTime);
274//}
275//
276//private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) {
277// ConstellationMission.spacecraft(Mission, Spacecraft);
278// find scienceData(Spacecraft, ScienceData);
279// IncomingData == sum find incomingData(Spacecraft, _, #_);
280// find transmitRate(Spacecraft, TransmitRate);
281// TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate));
282//}
283//
284//private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) {
285// find indirectCommunicationLink(Source, Spacecraft);
286// find scienceData(Source, Data);
287//}
288//
289//private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) {
290// ConstellationMission.spacecraft(Mission, Spacecraft);
291// InterferometryMission.observationTime(Mission, ObservationTime);
292// Data == eval(12.0 * ObservationTime);
293//}
294//
295//private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) {
296// find spacecraftUplink(Spacecraft, Comm, Target);
297// UHFCommSubsystem(Comm);
298// Spacecraft(Target);
299// TransmitRate == 5.0;
300//} or {
301// find spacecraftUplink(Spacecraft, Comm, Target);
302// XCommSubsystem(Comm);
303// Spacecraft(Target);
304// TransmitRate == 1.6;
305//} or {
306// find spacecraftUplink(Spacecraft, Comm, Target);
307// XCommSubsystem(Comm);
308// GroundStationNetwork(Target);
309// TransmitRate == 0.7;
310//} or {
311// find spacecraftUplink(Spacecraft, Comm, Target);
312// KaCommSubsystem(Comm);
313// Spacecraft(Target);
314// TransmitRate == 220.0;
315//} or {
316// find spacecraftUplink(Spacecraft, Comm, Target);
317// KaCommSubsystem(Comm);
318// GroundStationNetwork(Target);
319// TransmitRate == 80.0;
320//}
321//
322//private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) {
323// CommunicatingElement.commSubsystem.target(Spacecraft, TargetSubsystem);
324// CommunicatingElement.commSubsystem(Target, TargetSubsystem);
325//}
326//
327//// Cost
328//
329//pattern costMetric(Cost : java Double) {
330// Cost == sum find missionCost(_, #_);
331//}
332//
333//private pattern missionCost(Mission : InterferometryMission, Cost : java Double) {
334// InterferometryMission.observationTime(Mission, ObservationTime);
335// SpacecraftCost == sum find spacecraftCost(Mission, _, #_);
336// Cost == eval(SpacecraftCost + 100000.0 * ObservationTime);
337//}
338//
339//private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) {
340// ConstellationMission.spacecraft(Mission, Spacecraft);
341// find spacecraftOfKindCount(Spacecraft, KindCount);
342// find basePrice(Spacecraft, BasePrice);
343// find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost);
344// find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost);
345// Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost);
346//}
347//
348//private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) {
349// CubeSat3U(Sat);
350// Count == count find cubeSat3U(_);
351//} or {
352// CubeSat6U(Sat);
353// Count == count find cubeSat6U(_);
354//} or {
355// SmallSat(Sat);
356// Count == count find smallSat(_);
357//}
358//
359//private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) {
360// CubeSat3U(Spacecraft);
361// BasePrice == 250000.0;
362//} or {
363// CubeSat6U(Spacecraft);
364// BasePrice == 750000.0;
365//} or {
366// SmallSat(Spacecraft);
367// BasePrice == 3000000.0;
368//}
369//
370//private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) {
371// find spacecraftWithInterferometryPayload(_, Spacecraft);
372// Cost == 50000.0;
373//} or {
374// neg find spacecraftWithInterferometryPayload(_, Spacecraft);
375// Cost == 0.0;
376//}
377//
378//private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) {
379// find spacecraftWithTwoCommSubsystems(Spacecraft);
380// Cost == 100000.0;
381//} or {
382// neg find spacecraftWithTwoCommSubsystems(Spacecraft);
383// Cost == 0.0;
384//}
385//
386//private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) {
387// Spacecraft.commSubsystem(Spacecraft, Subsystem1);
388// Spacecraft.commSubsystem(Spacecraft, Subsystem2);
389// Subsystem1 != Subsystem2;
390//}
diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend
new file mode 100644
index 00000000..0ac66ce9
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend
@@ -0,0 +1,18 @@
1package hu.bme.mit.inf.dslreasoner.domains.satellite.runner
2
3import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor
4import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions
5import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory
6
7final class SatelliteGeneratorMain {
8 private new() {
9 throw new IllegalStateException("This is a static utility class and should not be instantiated directly.")
10 }
11
12 public static def void main(String[] args) {
13 ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE,
14 ReteBackendFactory.INSTANCE)
15 val res = StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")
16 if(res!==null) println(res)
17 }
18}