aboutsummaryrefslogtreecommitdiffstats
path: root/Domains
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-10 22:09:17 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2020-05-10 22:09:17 +0200
commit7adead25f3c8451a51a3f8fa1d45b0b8f93b3a69 (patch)
tree0b9b4ac2c58bf0535b27a447cae36335d5b9f503 /Domains
parentSynthetic tokens for solver language (diff)
downloadVIATRA-Generator-7adead25f3c8451a51a3f8fa1d45b0b8f93b3a69.tar.gz
VIATRA-Generator-7adead25f3c8451a51a3f8fa1d45b0b8f93b3a69.tar.zst
VIATRA-Generator-7adead25f3c8451a51a3f8fa1d45b0b8f93b3a69.zip
Add satellite case study
Diffstat (limited to 'Domains')
-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.java47
-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.java1079
-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.java159
-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.java574
-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.ecore32
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel39
-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.xml26
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql325
-rw-r--r--Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend17
52 files changed, 5582 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..2fb246c9
--- /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 += 32..64
11 }
12
13 config = {
14 runtime = 10000,
15 log-level = normal
16 }
17
18 number = 1
19 runs = 5
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..3b9d7ecf
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java
@@ -0,0 +1,47 @@
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 * </ul>
18 *
19 * @see satellite.SatellitePackage#getCommSubsystem()
20 * @model abstract="true"
21 * @generated
22 */
23public interface CommSubsystem extends EObject {
24
25 /**
26 * Returns the value of the '<em><b>Target</b></em>' reference.
27 * <!-- begin-user-doc -->
28 * <!-- end-user-doc -->
29 * @return the value of the '<em>Target</em>' reference.
30 * @see #setTarget(CommSubsystem)
31 * @see satellite.SatellitePackage#getCommSubsystem_Target()
32 * @model
33 * @generated
34 */
35 CommSubsystem getTarget();
36
37 /**
38 * Sets the value of the '{@link satellite.CommSubsystem#getTarget <em>Target</em>}' reference.
39 * <!-- begin-user-doc -->
40 * <!-- end-user-doc -->
41 * @param value the new value of the '<em>Target</em>' reference.
42 * @see #getTarget()
43 * @generated
44 */
45 void setTarget(CommSubsystem value);
46
47} // 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..9ca99311
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java
@@ -0,0 +1,1079 @@
1/**
2 */
3package satellite;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9/**
10 * <!-- begin-user-doc -->
11 * The <b>Package</b> for the model.
12 * It contains accessors for the meta objects to represent
13 * <ul>
14 * <li>each class,</li>
15 * <li>each feature of each class,</li>
16 * <li>each operation of each class,</li>
17 * <li>each enum,</li>
18 * <li>and each data type</li>
19 * </ul>
20 * <!-- end-user-doc -->
21 * @see satellite.SatelliteFactory
22 * @model kind="package"
23 * @generated
24 */
25public interface SatellitePackage extends EPackage {
26 /**
27 * The package name.
28 * <!-- begin-user-doc -->
29 * <!-- end-user-doc -->
30 * @generated
31 */
32 String eNAME = "satellite";
33
34 /**
35 * The package namespace URI.
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 String eNS_URI = "http://www.example.org/satellite";
41
42 /**
43 * The package namespace name.
44 * <!-- begin-user-doc -->
45 * <!-- end-user-doc -->
46 * @generated
47 */
48 String eNS_PREFIX = "satellite";
49
50 /**
51 * The singleton instance of the package.
52 * <!-- begin-user-doc -->
53 * <!-- end-user-doc -->
54 * @generated
55 */
56 SatellitePackage eINSTANCE = satellite.impl.SatellitePackageImpl.init();
57
58 /**
59 * The meta object id for the '{@link satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
60 * <!-- begin-user-doc -->
61 * <!-- end-user-doc -->
62 * @see satellite.impl.ConstellationMissionImpl
63 * @see satellite.impl.SatellitePackageImpl#getConstellationMission()
64 * @generated
65 */
66 int CONSTELLATION_MISSION = 0;
67
68 /**
69 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
70 * <!-- begin-user-doc -->
71 * <!-- end-user-doc -->
72 * @generated
73 * @ordered
74 */
75 int CONSTELLATION_MISSION__GROUND_STATION_NETWORK = 0;
76
77 /**
78 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
79 * <!-- begin-user-doc -->
80 * <!-- end-user-doc -->
81 * @generated
82 * @ordered
83 */
84 int CONSTELLATION_MISSION__SPACECRAFT = 1;
85
86 /**
87 * The number of structural features of the '<em>Constellation Mission</em>' class.
88 * <!-- begin-user-doc -->
89 * <!-- end-user-doc -->
90 * @generated
91 * @ordered
92 */
93 int CONSTELLATION_MISSION_FEATURE_COUNT = 2;
94
95 /**
96 * The number of operations of the '<em>Constellation Mission</em>' class.
97 * <!-- begin-user-doc -->
98 * <!-- end-user-doc -->
99 * @generated
100 * @ordered
101 */
102 int CONSTELLATION_MISSION_OPERATION_COUNT = 0;
103
104 /**
105 * The meta object id for the '{@link satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @see satellite.impl.InterferometryMissionImpl
109 * @see satellite.impl.SatellitePackageImpl#getInterferometryMission()
110 * @generated
111 */
112 int INTERFEROMETRY_MISSION = 1;
113
114 /**
115 * The feature id for the '<em><b>Ground Station Network</b></em>' containment reference.
116 * <!-- begin-user-doc -->
117 * <!-- end-user-doc -->
118 * @generated
119 * @ordered
120 */
121 int INTERFEROMETRY_MISSION__GROUND_STATION_NETWORK = CONSTELLATION_MISSION__GROUND_STATION_NETWORK;
122
123 /**
124 * The feature id for the '<em><b>Spacecraft</b></em>' containment reference list.
125 * <!-- begin-user-doc -->
126 * <!-- end-user-doc -->
127 * @generated
128 * @ordered
129 */
130 int INTERFEROMETRY_MISSION__SPACECRAFT = CONSTELLATION_MISSION__SPACECRAFT;
131
132 /**
133 * The number of structural features of the '<em>Interferometry Mission</em>' class.
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 * @ordered
138 */
139 int INTERFEROMETRY_MISSION_FEATURE_COUNT = CONSTELLATION_MISSION_FEATURE_COUNT + 0;
140
141 /**
142 * The number of operations of the '<em>Interferometry Mission</em>' class.
143 * <!-- begin-user-doc -->
144 * <!-- end-user-doc -->
145 * @generated
146 * @ordered
147 */
148 int INTERFEROMETRY_MISSION_OPERATION_COUNT = CONSTELLATION_MISSION_OPERATION_COUNT + 0;
149
150 /**
151 * The meta object id for the '{@link satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
152 * <!-- begin-user-doc -->
153 * <!-- end-user-doc -->
154 * @see satellite.impl.CommunicatingElementImpl
155 * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement()
156 * @generated
157 */
158 int COMMUNICATING_ELEMENT = 2;
159
160 /**
161 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
162 * <!-- begin-user-doc -->
163 * <!-- end-user-doc -->
164 * @generated
165 * @ordered
166 */
167 int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0;
168
169 /**
170 * The number of structural features of the '<em>Communicating Element</em>' class.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @generated
174 * @ordered
175 */
176 int COMMUNICATING_ELEMENT_FEATURE_COUNT = 1;
177
178 /**
179 * The number of operations of the '<em>Communicating Element</em>' class.
180 * <!-- begin-user-doc -->
181 * <!-- end-user-doc -->
182 * @generated
183 * @ordered
184 */
185 int COMMUNICATING_ELEMENT_OPERATION_COUNT = 0;
186
187 /**
188 * The meta object id for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
189 * <!-- begin-user-doc -->
190 * <!-- end-user-doc -->
191 * @see satellite.impl.GroundStationNetworkImpl
192 * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
193 * @generated
194 */
195 int GROUND_STATION_NETWORK = 3;
196
197 /**
198 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
199 * <!-- begin-user-doc -->
200 * <!-- end-user-doc -->
201 * @generated
202 * @ordered
203 */
204 int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
205
206 /**
207 * The number of structural features of the '<em>Ground Station Network</em>' class.
208 * <!-- begin-user-doc -->
209 * <!-- end-user-doc -->
210 * @generated
211 * @ordered
212 */
213 int GROUND_STATION_NETWORK_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
214
215 /**
216 * The number of operations of the '<em>Ground Station Network</em>' class.
217 * <!-- begin-user-doc -->
218 * <!-- end-user-doc -->
219 * @generated
220 * @ordered
221 */
222 int GROUND_STATION_NETWORK_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
223
224 /**
225 * The meta object id for the '{@link satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
226 * <!-- begin-user-doc -->
227 * <!-- end-user-doc -->
228 * @see satellite.impl.SpacecraftImpl
229 * @see satellite.impl.SatellitePackageImpl#getSpacecraft()
230 * @generated
231 */
232 int SPACECRAFT = 4;
233
234 /**
235 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
236 * <!-- begin-user-doc -->
237 * <!-- end-user-doc -->
238 * @generated
239 * @ordered
240 */
241 int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM;
242
243 /**
244 * The feature id for the '<em><b>Payload</b></em>' containment reference.
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 * @ordered
249 */
250 int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0;
251
252 /**
253 * The number of structural features of the '<em>Spacecraft</em>' class.
254 * <!-- begin-user-doc -->
255 * <!-- end-user-doc -->
256 * @generated
257 * @ordered
258 */
259 int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1;
260
261 /**
262 * The number of operations of the '<em>Spacecraft</em>' class.
263 * <!-- begin-user-doc -->
264 * <!-- end-user-doc -->
265 * @generated
266 * @ordered
267 */
268 int SPACECRAFT_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0;
269
270 /**
271 * The meta object id for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
272 * <!-- begin-user-doc -->
273 * <!-- end-user-doc -->
274 * @see satellite.impl.CommSubsystemImpl
275 * @see satellite.impl.SatellitePackageImpl#getCommSubsystem()
276 * @generated
277 */
278 int COMM_SUBSYSTEM = 5;
279
280 /**
281 * The feature id for the '<em><b>Target</b></em>' reference.
282 * <!-- begin-user-doc -->
283 * <!-- end-user-doc -->
284 * @generated
285 * @ordered
286 */
287 int COMM_SUBSYSTEM__TARGET = 0;
288
289 /**
290 * The number of structural features of the '<em>Comm Subsystem</em>' class.
291 * <!-- begin-user-doc -->
292 * <!-- end-user-doc -->
293 * @generated
294 * @ordered
295 */
296 int COMM_SUBSYSTEM_FEATURE_COUNT = 1;
297
298 /**
299 * The number of operations of the '<em>Comm Subsystem</em>' class.
300 * <!-- begin-user-doc -->
301 * <!-- end-user-doc -->
302 * @generated
303 * @ordered
304 */
305 int COMM_SUBSYSTEM_OPERATION_COUNT = 0;
306
307 /**
308 * The meta object id for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
309 * <!-- begin-user-doc -->
310 * <!-- end-user-doc -->
311 * @see satellite.impl.PayloadImpl
312 * @see satellite.impl.SatellitePackageImpl#getPayload()
313 * @generated
314 */
315 int PAYLOAD = 6;
316
317 /**
318 * The number of structural features of the '<em>Payload</em>' class.
319 * <!-- begin-user-doc -->
320 * <!-- end-user-doc -->
321 * @generated
322 * @ordered
323 */
324 int PAYLOAD_FEATURE_COUNT = 0;
325
326 /**
327 * The number of operations of the '<em>Payload</em>' class.
328 * <!-- begin-user-doc -->
329 * <!-- end-user-doc -->
330 * @generated
331 * @ordered
332 */
333 int PAYLOAD_OPERATION_COUNT = 0;
334
335 /**
336 * The meta object id for the '{@link satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
337 * <!-- begin-user-doc -->
338 * <!-- end-user-doc -->
339 * @see satellite.impl.InterferometryPayloadImpl
340 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload()
341 * @generated
342 */
343 int INTERFEROMETRY_PAYLOAD = 7;
344
345 /**
346 * The number of structural features of the '<em>Interferometry Payload</em>' class.
347 * <!-- begin-user-doc -->
348 * <!-- end-user-doc -->
349 * @generated
350 * @ordered
351 */
352 int INTERFEROMETRY_PAYLOAD_FEATURE_COUNT = PAYLOAD_FEATURE_COUNT + 0;
353
354 /**
355 * The number of operations of the '<em>Interferometry Payload</em>' class.
356 * <!-- begin-user-doc -->
357 * <!-- end-user-doc -->
358 * @generated
359 * @ordered
360 */
361 int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0;
362
363 /**
364 * The meta object id for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @see satellite.impl.CubeSatImpl
368 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
369 * @generated
370 */
371 int CUBE_SAT = 11;
372
373 /**
374 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 * @ordered
379 */
380 int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
381
382 /**
383 * The feature id for the '<em><b>Payload</b></em>' containment reference.
384 * <!-- begin-user-doc -->
385 * <!-- end-user-doc -->
386 * @generated
387 * @ordered
388 */
389 int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
390
391 /**
392 * The number of structural features of the '<em>Cube Sat</em>' class.
393 * <!-- begin-user-doc -->
394 * <!-- end-user-doc -->
395 * @generated
396 * @ordered
397 */
398 int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
399
400 /**
401 * The number of operations of the '<em>Cube Sat</em>' class.
402 * <!-- begin-user-doc -->
403 * <!-- end-user-doc -->
404 * @generated
405 * @ordered
406 */
407 int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
408
409 /**
410 * The meta object id for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
411 * <!-- begin-user-doc -->
412 * <!-- end-user-doc -->
413 * @see satellite.impl.CubeSat3UImpl
414 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
415 * @generated
416 */
417 int CUBE_SAT3_U = 8;
418
419 /**
420 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
421 * <!-- begin-user-doc -->
422 * <!-- end-user-doc -->
423 * @generated
424 * @ordered
425 */
426 int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
427
428 /**
429 * The feature id for the '<em><b>Payload</b></em>' containment reference.
430 * <!-- begin-user-doc -->
431 * <!-- end-user-doc -->
432 * @generated
433 * @ordered
434 */
435 int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD;
436
437 /**
438 * The number of structural features of the '<em>Cube Sat3 U</em>' class.
439 * <!-- begin-user-doc -->
440 * <!-- end-user-doc -->
441 * @generated
442 * @ordered
443 */
444 int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
445
446 /**
447 * The number of operations of the '<em>Cube Sat3 U</em>' class.
448 * <!-- begin-user-doc -->
449 * <!-- end-user-doc -->
450 * @generated
451 * @ordered
452 */
453 int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
454
455 /**
456 * The meta object id for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
457 * <!-- begin-user-doc -->
458 * <!-- end-user-doc -->
459 * @see satellite.impl.CubeSat6UImpl
460 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U()
461 * @generated
462 */
463 int CUBE_SAT6_U = 9;
464
465 /**
466 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
467 * <!-- begin-user-doc -->
468 * <!-- end-user-doc -->
469 * @generated
470 * @ordered
471 */
472 int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM;
473
474 /**
475 * The feature id for the '<em><b>Payload</b></em>' containment reference.
476 * <!-- begin-user-doc -->
477 * <!-- end-user-doc -->
478 * @generated
479 * @ordered
480 */
481 int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD;
482
483 /**
484 * The number of structural features of the '<em>Cube Sat6 U</em>' class.
485 * <!-- begin-user-doc -->
486 * <!-- end-user-doc -->
487 * @generated
488 * @ordered
489 */
490 int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0;
491
492 /**
493 * The number of operations of the '<em>Cube Sat6 U</em>' class.
494 * <!-- begin-user-doc -->
495 * <!-- end-user-doc -->
496 * @generated
497 * @ordered
498 */
499 int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0;
500
501 /**
502 * The meta object id for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
503 * <!-- begin-user-doc -->
504 * <!-- end-user-doc -->
505 * @see satellite.impl.SmallSatImpl
506 * @see satellite.impl.SatellitePackageImpl#getSmallSat()
507 * @generated
508 */
509 int SMALL_SAT = 10;
510
511 /**
512 * The feature id for the '<em><b>Comm Subsystem</b></em>' containment reference list.
513 * <!-- begin-user-doc -->
514 * <!-- end-user-doc -->
515 * @generated
516 * @ordered
517 */
518 int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM;
519
520 /**
521 * The feature id for the '<em><b>Payload</b></em>' containment reference.
522 * <!-- begin-user-doc -->
523 * <!-- end-user-doc -->
524 * @generated
525 * @ordered
526 */
527 int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD;
528
529 /**
530 * The number of structural features of the '<em>Small Sat</em>' class.
531 * <!-- begin-user-doc -->
532 * <!-- end-user-doc -->
533 * @generated
534 * @ordered
535 */
536 int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0;
537
538 /**
539 * The number of operations of the '<em>Small Sat</em>' class.
540 * <!-- begin-user-doc -->
541 * <!-- end-user-doc -->
542 * @generated
543 * @ordered
544 */
545 int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0;
546
547 /**
548 * The meta object id for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
549 * <!-- begin-user-doc -->
550 * <!-- end-user-doc -->
551 * @see satellite.impl.UHFCommSubsystemImpl
552 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
553 * @generated
554 */
555 int UHF_COMM_SUBSYSTEM = 12;
556
557 /**
558 * The feature id for the '<em><b>Target</b></em>' reference.
559 * <!-- begin-user-doc -->
560 * <!-- end-user-doc -->
561 * @generated
562 * @ordered
563 */
564 int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
565
566 /**
567 * The number of structural features of the '<em>UHF Comm Subsystem</em>' class.
568 * <!-- begin-user-doc -->
569 * <!-- end-user-doc -->
570 * @generated
571 * @ordered
572 */
573 int UHF_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
574
575 /**
576 * The number of operations of the '<em>UHF Comm Subsystem</em>' class.
577 * <!-- begin-user-doc -->
578 * <!-- end-user-doc -->
579 * @generated
580 * @ordered
581 */
582 int UHF_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
583
584 /**
585 * The meta object id for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
586 * <!-- begin-user-doc -->
587 * <!-- end-user-doc -->
588 * @see satellite.impl.XCommSubsystemImpl
589 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
590 * @generated
591 */
592 int XCOMM_SUBSYSTEM = 13;
593
594 /**
595 * The feature id for the '<em><b>Target</b></em>' reference.
596 * <!-- begin-user-doc -->
597 * <!-- end-user-doc -->
598 * @generated
599 * @ordered
600 */
601 int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
602
603 /**
604 * The number of structural features of the '<em>XComm Subsystem</em>' class.
605 * <!-- begin-user-doc -->
606 * <!-- end-user-doc -->
607 * @generated
608 * @ordered
609 */
610 int XCOMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
611
612 /**
613 * The number of operations of the '<em>XComm Subsystem</em>' class.
614 * <!-- begin-user-doc -->
615 * <!-- end-user-doc -->
616 * @generated
617 * @ordered
618 */
619 int XCOMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
620
621 /**
622 * The meta object id for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
623 * <!-- begin-user-doc -->
624 * <!-- end-user-doc -->
625 * @see satellite.impl.KaCommSubsystemImpl
626 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
627 * @generated
628 */
629 int KA_COMM_SUBSYSTEM = 14;
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 KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET;
639
640 /**
641 * The number of structural features of the '<em>Ka Comm Subsystem</em>' class.
642 * <!-- begin-user-doc -->
643 * <!-- end-user-doc -->
644 * @generated
645 * @ordered
646 */
647 int KA_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0;
648
649 /**
650 * The number of operations of the '<em>Ka Comm Subsystem</em>' class.
651 * <!-- begin-user-doc -->
652 * <!-- end-user-doc -->
653 * @generated
654 * @ordered
655 */
656 int KA_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0;
657
658 /**
659 * Returns the meta object for class '{@link satellite.ConstellationMission <em>Constellation Mission</em>}'.
660 * <!-- begin-user-doc -->
661 * <!-- end-user-doc -->
662 * @return the meta object for class '<em>Constellation Mission</em>'.
663 * @see satellite.ConstellationMission
664 * @generated
665 */
666 EClass getConstellationMission();
667
668 /**
669 * Returns the meta object for the containment reference '{@link satellite.ConstellationMission#getGroundStationNetwork <em>Ground Station Network</em>}'.
670 * <!-- begin-user-doc -->
671 * <!-- end-user-doc -->
672 * @return the meta object for the containment reference '<em>Ground Station Network</em>'.
673 * @see satellite.ConstellationMission#getGroundStationNetwork()
674 * @see #getConstellationMission()
675 * @generated
676 */
677 EReference getConstellationMission_GroundStationNetwork();
678
679 /**
680 * Returns the meta object for the containment reference list '{@link satellite.ConstellationMission#getSpacecraft <em>Spacecraft</em>}'.
681 * <!-- begin-user-doc -->
682 * <!-- end-user-doc -->
683 * @return the meta object for the containment reference list '<em>Spacecraft</em>'.
684 * @see satellite.ConstellationMission#getSpacecraft()
685 * @see #getConstellationMission()
686 * @generated
687 */
688 EReference getConstellationMission_Spacecraft();
689
690 /**
691 * Returns the meta object for class '{@link satellite.InterferometryMission <em>Interferometry Mission</em>}'.
692 * <!-- begin-user-doc -->
693 * <!-- end-user-doc -->
694 * @return the meta object for class '<em>Interferometry Mission</em>'.
695 * @see satellite.InterferometryMission
696 * @generated
697 */
698 EClass getInterferometryMission();
699
700 /**
701 * Returns the meta object for class '{@link satellite.CommunicatingElement <em>Communicating Element</em>}'.
702 * <!-- begin-user-doc -->
703 * <!-- end-user-doc -->
704 * @return the meta object for class '<em>Communicating Element</em>'.
705 * @see satellite.CommunicatingElement
706 * @generated
707 */
708 EClass getCommunicatingElement();
709
710 /**
711 * Returns the meta object for the containment reference list '{@link satellite.CommunicatingElement#getCommSubsystem <em>Comm Subsystem</em>}'.
712 * <!-- begin-user-doc -->
713 * <!-- end-user-doc -->
714 * @return the meta object for the containment reference list '<em>Comm Subsystem</em>'.
715 * @see satellite.CommunicatingElement#getCommSubsystem()
716 * @see #getCommunicatingElement()
717 * @generated
718 */
719 EReference getCommunicatingElement_CommSubsystem();
720
721 /**
722 * Returns the meta object for class '{@link satellite.GroundStationNetwork <em>Ground Station Network</em>}'.
723 * <!-- begin-user-doc -->
724 * <!-- end-user-doc -->
725 * @return the meta object for class '<em>Ground Station Network</em>'.
726 * @see satellite.GroundStationNetwork
727 * @generated
728 */
729 EClass getGroundStationNetwork();
730
731 /**
732 * Returns the meta object for class '{@link satellite.Spacecraft <em>Spacecraft</em>}'.
733 * <!-- begin-user-doc -->
734 * <!-- end-user-doc -->
735 * @return the meta object for class '<em>Spacecraft</em>'.
736 * @see satellite.Spacecraft
737 * @generated
738 */
739 EClass getSpacecraft();
740
741 /**
742 * Returns the meta object for the containment reference '{@link satellite.Spacecraft#getPayload <em>Payload</em>}'.
743 * <!-- begin-user-doc -->
744 * <!-- end-user-doc -->
745 * @return the meta object for the containment reference '<em>Payload</em>'.
746 * @see satellite.Spacecraft#getPayload()
747 * @see #getSpacecraft()
748 * @generated
749 */
750 EReference getSpacecraft_Payload();
751
752 /**
753 * Returns the meta object for class '{@link satellite.CommSubsystem <em>Comm Subsystem</em>}'.
754 * <!-- begin-user-doc -->
755 * <!-- end-user-doc -->
756 * @return the meta object for class '<em>Comm Subsystem</em>'.
757 * @see satellite.CommSubsystem
758 * @generated
759 */
760 EClass getCommSubsystem();
761
762 /**
763 * Returns the meta object for the reference '{@link satellite.CommSubsystem#getTarget <em>Target</em>}'.
764 * <!-- begin-user-doc -->
765 * <!-- end-user-doc -->
766 * @return the meta object for the reference '<em>Target</em>'.
767 * @see satellite.CommSubsystem#getTarget()
768 * @see #getCommSubsystem()
769 * @generated
770 */
771 EReference getCommSubsystem_Target();
772
773 /**
774 * Returns the meta object for class '{@link satellite.Payload <em>Payload</em>}'.
775 * <!-- begin-user-doc -->
776 * <!-- end-user-doc -->
777 * @return the meta object for class '<em>Payload</em>'.
778 * @see satellite.Payload
779 * @generated
780 */
781 EClass getPayload();
782
783 /**
784 * Returns the meta object for class '{@link satellite.InterferometryPayload <em>Interferometry Payload</em>}'.
785 * <!-- begin-user-doc -->
786 * <!-- end-user-doc -->
787 * @return the meta object for class '<em>Interferometry Payload</em>'.
788 * @see satellite.InterferometryPayload
789 * @generated
790 */
791 EClass getInterferometryPayload();
792
793 /**
794 * Returns the meta object for class '{@link satellite.CubeSat3U <em>Cube Sat3 U</em>}'.
795 * <!-- begin-user-doc -->
796 * <!-- end-user-doc -->
797 * @return the meta object for class '<em>Cube Sat3 U</em>'.
798 * @see satellite.CubeSat3U
799 * @generated
800 */
801 EClass getCubeSat3U();
802
803 /**
804 * Returns the meta object for class '{@link satellite.CubeSat6U <em>Cube Sat6 U</em>}'.
805 * <!-- begin-user-doc -->
806 * <!-- end-user-doc -->
807 * @return the meta object for class '<em>Cube Sat6 U</em>'.
808 * @see satellite.CubeSat6U
809 * @generated
810 */
811 EClass getCubeSat6U();
812
813 /**
814 * Returns the meta object for class '{@link satellite.SmallSat <em>Small Sat</em>}'.
815 * <!-- begin-user-doc -->
816 * <!-- end-user-doc -->
817 * @return the meta object for class '<em>Small Sat</em>'.
818 * @see satellite.SmallSat
819 * @generated
820 */
821 EClass getSmallSat();
822
823 /**
824 * Returns the meta object for class '{@link satellite.CubeSat <em>Cube Sat</em>}'.
825 * <!-- begin-user-doc -->
826 * <!-- end-user-doc -->
827 * @return the meta object for class '<em>Cube Sat</em>'.
828 * @see satellite.CubeSat
829 * @generated
830 */
831 EClass getCubeSat();
832
833 /**
834 * Returns the meta object for class '{@link satellite.UHFCommSubsystem <em>UHF Comm Subsystem</em>}'.
835 * <!-- begin-user-doc -->
836 * <!-- end-user-doc -->
837 * @return the meta object for class '<em>UHF Comm Subsystem</em>'.
838 * @see satellite.UHFCommSubsystem
839 * @generated
840 */
841 EClass getUHFCommSubsystem();
842
843 /**
844 * Returns the meta object for class '{@link satellite.XCommSubsystem <em>XComm Subsystem</em>}'.
845 * <!-- begin-user-doc -->
846 * <!-- end-user-doc -->
847 * @return the meta object for class '<em>XComm Subsystem</em>'.
848 * @see satellite.XCommSubsystem
849 * @generated
850 */
851 EClass getXCommSubsystem();
852
853 /**
854 * Returns the meta object for class '{@link satellite.KaCommSubsystem <em>Ka Comm Subsystem</em>}'.
855 * <!-- begin-user-doc -->
856 * <!-- end-user-doc -->
857 * @return the meta object for class '<em>Ka Comm Subsystem</em>'.
858 * @see satellite.KaCommSubsystem
859 * @generated
860 */
861 EClass getKaCommSubsystem();
862
863 /**
864 * Returns the factory that creates the instances of the model.
865 * <!-- begin-user-doc -->
866 * <!-- end-user-doc -->
867 * @return the factory that creates the instances of the model.
868 * @generated
869 */
870 SatelliteFactory getSatelliteFactory();
871
872 /**
873 * <!-- begin-user-doc -->
874 * Defines literals for the meta objects that represent
875 * <ul>
876 * <li>each class,</li>
877 * <li>each feature of each class,</li>
878 * <li>each operation of each class,</li>
879 * <li>each enum,</li>
880 * <li>and each data type</li>
881 * </ul>
882 * <!-- end-user-doc -->
883 * @generated
884 */
885 interface Literals {
886 /**
887 * The meta object literal for the '{@link satellite.impl.ConstellationMissionImpl <em>Constellation Mission</em>}' class.
888 * <!-- begin-user-doc -->
889 * <!-- end-user-doc -->
890 * @see satellite.impl.ConstellationMissionImpl
891 * @see satellite.impl.SatellitePackageImpl#getConstellationMission()
892 * @generated
893 */
894 EClass CONSTELLATION_MISSION = eINSTANCE.getConstellationMission();
895
896 /**
897 * The meta object literal for the '<em><b>Ground Station Network</b></em>' containment reference feature.
898 * <!-- begin-user-doc -->
899 * <!-- end-user-doc -->
900 * @generated
901 */
902 EReference CONSTELLATION_MISSION__GROUND_STATION_NETWORK = eINSTANCE
903 .getConstellationMission_GroundStationNetwork();
904
905 /**
906 * The meta object literal for the '<em><b>Spacecraft</b></em>' containment reference list feature.
907 * <!-- begin-user-doc -->
908 * <!-- end-user-doc -->
909 * @generated
910 */
911 EReference CONSTELLATION_MISSION__SPACECRAFT = eINSTANCE.getConstellationMission_Spacecraft();
912
913 /**
914 * The meta object literal for the '{@link satellite.impl.InterferometryMissionImpl <em>Interferometry Mission</em>}' class.
915 * <!-- begin-user-doc -->
916 * <!-- end-user-doc -->
917 * @see satellite.impl.InterferometryMissionImpl
918 * @see satellite.impl.SatellitePackageImpl#getInterferometryMission()
919 * @generated
920 */
921 EClass INTERFEROMETRY_MISSION = eINSTANCE.getInterferometryMission();
922
923 /**
924 * The meta object literal for the '{@link satellite.impl.CommunicatingElementImpl <em>Communicating Element</em>}' class.
925 * <!-- begin-user-doc -->
926 * <!-- end-user-doc -->
927 * @see satellite.impl.CommunicatingElementImpl
928 * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement()
929 * @generated
930 */
931 EClass COMMUNICATING_ELEMENT = eINSTANCE.getCommunicatingElement();
932
933 /**
934 * The meta object literal for the '<em><b>Comm Subsystem</b></em>' containment reference list feature.
935 * <!-- begin-user-doc -->
936 * <!-- end-user-doc -->
937 * @generated
938 */
939 EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem();
940
941 /**
942 * The meta object literal for the '{@link satellite.impl.GroundStationNetworkImpl <em>Ground Station Network</em>}' class.
943 * <!-- begin-user-doc -->
944 * <!-- end-user-doc -->
945 * @see satellite.impl.GroundStationNetworkImpl
946 * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork()
947 * @generated
948 */
949 EClass GROUND_STATION_NETWORK = eINSTANCE.getGroundStationNetwork();
950
951 /**
952 * The meta object literal for the '{@link satellite.impl.SpacecraftImpl <em>Spacecraft</em>}' class.
953 * <!-- begin-user-doc -->
954 * <!-- end-user-doc -->
955 * @see satellite.impl.SpacecraftImpl
956 * @see satellite.impl.SatellitePackageImpl#getSpacecraft()
957 * @generated
958 */
959 EClass SPACECRAFT = eINSTANCE.getSpacecraft();
960
961 /**
962 * The meta object literal for the '<em><b>Payload</b></em>' containment reference feature.
963 * <!-- begin-user-doc -->
964 * <!-- end-user-doc -->
965 * @generated
966 */
967 EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload();
968
969 /**
970 * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl <em>Comm Subsystem</em>}' class.
971 * <!-- begin-user-doc -->
972 * <!-- end-user-doc -->
973 * @see satellite.impl.CommSubsystemImpl
974 * @see satellite.impl.SatellitePackageImpl#getCommSubsystem()
975 * @generated
976 */
977 EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem();
978
979 /**
980 * The meta object literal for the '<em><b>Target</b></em>' reference feature.
981 * <!-- begin-user-doc -->
982 * <!-- end-user-doc -->
983 * @generated
984 */
985 EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target();
986
987 /**
988 * The meta object literal for the '{@link satellite.impl.PayloadImpl <em>Payload</em>}' class.
989 * <!-- begin-user-doc -->
990 * <!-- end-user-doc -->
991 * @see satellite.impl.PayloadImpl
992 * @see satellite.impl.SatellitePackageImpl#getPayload()
993 * @generated
994 */
995 EClass PAYLOAD = eINSTANCE.getPayload();
996
997 /**
998 * The meta object literal for the '{@link satellite.impl.InterferometryPayloadImpl <em>Interferometry Payload</em>}' class.
999 * <!-- begin-user-doc -->
1000 * <!-- end-user-doc -->
1001 * @see satellite.impl.InterferometryPayloadImpl
1002 * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload()
1003 * @generated
1004 */
1005 EClass INTERFEROMETRY_PAYLOAD = eINSTANCE.getInterferometryPayload();
1006
1007 /**
1008 * The meta object literal for the '{@link satellite.impl.CubeSat3UImpl <em>Cube Sat3 U</em>}' class.
1009 * <!-- begin-user-doc -->
1010 * <!-- end-user-doc -->
1011 * @see satellite.impl.CubeSat3UImpl
1012 * @see satellite.impl.SatellitePackageImpl#getCubeSat3U()
1013 * @generated
1014 */
1015 EClass CUBE_SAT3_U = eINSTANCE.getCubeSat3U();
1016
1017 /**
1018 * The meta object literal for the '{@link satellite.impl.CubeSat6UImpl <em>Cube Sat6 U</em>}' class.
1019 * <!-- begin-user-doc -->
1020 * <!-- end-user-doc -->
1021 * @see satellite.impl.CubeSat6UImpl
1022 * @see satellite.impl.SatellitePackageImpl#getCubeSat6U()
1023 * @generated
1024 */
1025 EClass CUBE_SAT6_U = eINSTANCE.getCubeSat6U();
1026
1027 /**
1028 * The meta object literal for the '{@link satellite.impl.SmallSatImpl <em>Small Sat</em>}' class.
1029 * <!-- begin-user-doc -->
1030 * <!-- end-user-doc -->
1031 * @see satellite.impl.SmallSatImpl
1032 * @see satellite.impl.SatellitePackageImpl#getSmallSat()
1033 * @generated
1034 */
1035 EClass SMALL_SAT = eINSTANCE.getSmallSat();
1036
1037 /**
1038 * The meta object literal for the '{@link satellite.impl.CubeSatImpl <em>Cube Sat</em>}' class.
1039 * <!-- begin-user-doc -->
1040 * <!-- end-user-doc -->
1041 * @see satellite.impl.CubeSatImpl
1042 * @see satellite.impl.SatellitePackageImpl#getCubeSat()
1043 * @generated
1044 */
1045 EClass CUBE_SAT = eINSTANCE.getCubeSat();
1046
1047 /**
1048 * The meta object literal for the '{@link satellite.impl.UHFCommSubsystemImpl <em>UHF Comm Subsystem</em>}' class.
1049 * <!-- begin-user-doc -->
1050 * <!-- end-user-doc -->
1051 * @see satellite.impl.UHFCommSubsystemImpl
1052 * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem()
1053 * @generated
1054 */
1055 EClass UHF_COMM_SUBSYSTEM = eINSTANCE.getUHFCommSubsystem();
1056
1057 /**
1058 * The meta object literal for the '{@link satellite.impl.XCommSubsystemImpl <em>XComm Subsystem</em>}' class.
1059 * <!-- begin-user-doc -->
1060 * <!-- end-user-doc -->
1061 * @see satellite.impl.XCommSubsystemImpl
1062 * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem()
1063 * @generated
1064 */
1065 EClass XCOMM_SUBSYSTEM = eINSTANCE.getXCommSubsystem();
1066
1067 /**
1068 * The meta object literal for the '{@link satellite.impl.KaCommSubsystemImpl <em>Ka Comm Subsystem</em>}' class.
1069 * <!-- begin-user-doc -->
1070 * <!-- end-user-doc -->
1071 * @see satellite.impl.KaCommSubsystemImpl
1072 * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem()
1073 * @generated
1074 */
1075 EClass KA_COMM_SUBSYSTEM = eINSTANCE.getKaCommSubsystem();
1076
1077 }
1078
1079} //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..d39abd4d
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java
@@ -0,0 +1,159 @@
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 * </ul>
23 *
24 * @generated
25 */
26public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem {
27 /**
28 * The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
29 * <!-- begin-user-doc -->
30 * <!-- end-user-doc -->
31 * @see #getTarget()
32 * @generated
33 * @ordered
34 */
35 protected CommSubsystem target;
36
37 /**
38 * <!-- begin-user-doc -->
39 * <!-- end-user-doc -->
40 * @generated
41 */
42 protected CommSubsystemImpl() {
43 super();
44 }
45
46 /**
47 * <!-- begin-user-doc -->
48 * <!-- end-user-doc -->
49 * @generated
50 */
51 @Override
52 protected EClass eStaticClass() {
53 return SatellitePackage.Literals.COMM_SUBSYSTEM;
54 }
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 @Override
62 public CommSubsystem getTarget() {
63 if (target != null && target.eIsProxy()) {
64 InternalEObject oldTarget = (InternalEObject) target;
65 target = (CommSubsystem) eResolveProxy(oldTarget);
66 if (target != oldTarget) {
67 if (eNotificationRequired())
68 eNotify(new ENotificationImpl(this, Notification.RESOLVE, SatellitePackage.COMM_SUBSYSTEM__TARGET,
69 oldTarget, target));
70 }
71 }
72 return target;
73 }
74
75 /**
76 * <!-- begin-user-doc -->
77 * <!-- end-user-doc -->
78 * @generated
79 */
80 public CommSubsystem basicGetTarget() {
81 return target;
82 }
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 @Override
90 public void setTarget(CommSubsystem newTarget) {
91 CommSubsystem oldTarget = target;
92 target = newTarget;
93 if (eNotificationRequired())
94 eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget,
95 target));
96 }
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 @Override
104 public Object eGet(int featureID, boolean resolve, boolean coreType) {
105 switch (featureID) {
106 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
107 if (resolve)
108 return getTarget();
109 return basicGetTarget();
110 }
111 return super.eGet(featureID, resolve, coreType);
112 }
113
114 /**
115 * <!-- begin-user-doc -->
116 * <!-- end-user-doc -->
117 * @generated
118 */
119 @SuppressWarnings("unchecked")
120 @Override
121 public void eSet(int featureID, Object newValue) {
122 switch (featureID) {
123 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
124 setTarget((CommSubsystem) newValue);
125 return;
126 }
127 super.eSet(featureID, newValue);
128 }
129
130 /**
131 * <!-- begin-user-doc -->
132 * <!-- end-user-doc -->
133 * @generated
134 */
135 @Override
136 public void eUnset(int featureID) {
137 switch (featureID) {
138 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
139 setTarget((CommSubsystem) null);
140 return;
141 }
142 super.eUnset(featureID);
143 }
144
145 /**
146 * <!-- begin-user-doc -->
147 * <!-- end-user-doc -->
148 * @generated
149 */
150 @Override
151 public boolean eIsSet(int featureID) {
152 switch (featureID) {
153 case SatellitePackage.COMM_SUBSYSTEM__TARGET:
154 return target != null;
155 }
156 return super.eIsSet(featureID);
157 }
158
159} //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..f6dc1e30
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java
@@ -0,0 +1,574 @@
1/**
2 */
3package satellite.impl;
4
5import org.eclipse.emf.ecore.EClass;
6import org.eclipse.emf.ecore.EPackage;
7import org.eclipse.emf.ecore.EReference;
8
9import org.eclipse.emf.ecore.impl.EPackageImpl;
10import satellite.CommSubsystem;
11import satellite.CommunicatingElement;
12import satellite.ConstellationMission;
13import satellite.CubeSat;
14import satellite.CubeSat3U;
15import satellite.CubeSat6U;
16import satellite.GroundStationNetwork;
17import satellite.InterferometryMission;
18import satellite.InterferometryPayload;
19import satellite.KaCommSubsystem;
20import satellite.Payload;
21import satellite.SatelliteFactory;
22import satellite.SatellitePackage;
23import satellite.SmallSat;
24import satellite.Spacecraft;
25import satellite.UHFCommSubsystem;
26import satellite.XCommSubsystem;
27
28/**
29 * <!-- begin-user-doc -->
30 * An implementation of the model <b>Package</b>.
31 * <!-- end-user-doc -->
32 * @generated
33 */
34public class SatellitePackageImpl extends EPackageImpl implements SatellitePackage {
35 /**
36 * <!-- begin-user-doc -->
37 * <!-- end-user-doc -->
38 * @generated
39 */
40 private EClass constellationMissionEClass = null;
41
42 /**
43 * <!-- begin-user-doc -->
44 * <!-- end-user-doc -->
45 * @generated
46 */
47 private EClass interferometryMissionEClass = null;
48
49 /**
50 * <!-- begin-user-doc -->
51 * <!-- end-user-doc -->
52 * @generated
53 */
54 private EClass communicatingElementEClass = null;
55
56 /**
57 * <!-- begin-user-doc -->
58 * <!-- end-user-doc -->
59 * @generated
60 */
61 private EClass groundStationNetworkEClass = null;
62
63 /**
64 * <!-- begin-user-doc -->
65 * <!-- end-user-doc -->
66 * @generated
67 */
68 private EClass spacecraftEClass = null;
69
70 /**
71 * <!-- begin-user-doc -->
72 * <!-- end-user-doc -->
73 * @generated
74 */
75 private EClass commSubsystemEClass = null;
76
77 /**
78 * <!-- begin-user-doc -->
79 * <!-- end-user-doc -->
80 * @generated
81 */
82 private EClass payloadEClass = null;
83
84 /**
85 * <!-- begin-user-doc -->
86 * <!-- end-user-doc -->
87 * @generated
88 */
89 private EClass interferometryPayloadEClass = null;
90
91 /**
92 * <!-- begin-user-doc -->
93 * <!-- end-user-doc -->
94 * @generated
95 */
96 private EClass cubeSat3UEClass = null;
97
98 /**
99 * <!-- begin-user-doc -->
100 * <!-- end-user-doc -->
101 * @generated
102 */
103 private EClass cubeSat6UEClass = null;
104
105 /**
106 * <!-- begin-user-doc -->
107 * <!-- end-user-doc -->
108 * @generated
109 */
110 private EClass smallSatEClass = null;
111
112 /**
113 * <!-- begin-user-doc -->
114 * <!-- end-user-doc -->
115 * @generated
116 */
117 private EClass cubeSatEClass = null;
118
119 /**
120 * <!-- begin-user-doc -->
121 * <!-- end-user-doc -->
122 * @generated
123 */
124 private EClass uhfCommSubsystemEClass = null;
125
126 /**
127 * <!-- begin-user-doc -->
128 * <!-- end-user-doc -->
129 * @generated
130 */
131 private EClass xCommSubsystemEClass = null;
132
133 /**
134 * <!-- begin-user-doc -->
135 * <!-- end-user-doc -->
136 * @generated
137 */
138 private EClass kaCommSubsystemEClass = null;
139
140 /**
141 * Creates an instance of the model <b>Package</b>, registered with
142 * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
143 * package URI value.
144 * <p>Note: the correct way to create the package is via the static
145 * factory method {@link #init init()}, which also performs
146 * initialization of the package, or returns the registered package,
147 * if one already exists.
148 * <!-- begin-user-doc -->
149 * <!-- end-user-doc -->
150 * @see org.eclipse.emf.ecore.EPackage.Registry
151 * @see satellite.SatellitePackage#eNS_URI
152 * @see #init()
153 * @generated
154 */
155 private SatellitePackageImpl() {
156 super(eNS_URI, SatelliteFactory.eINSTANCE);
157 }
158
159 /**
160 * <!-- begin-user-doc -->
161 * <!-- end-user-doc -->
162 * @generated
163 */
164 private static boolean isInited = false;
165
166 /**
167 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
168 *
169 * <p>This method is used to initialize {@link SatellitePackage#eINSTANCE} when that field is accessed.
170 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
171 * <!-- begin-user-doc -->
172 * <!-- end-user-doc -->
173 * @see #eNS_URI
174 * @see #createPackageContents()
175 * @see #initializePackageContents()
176 * @generated
177 */
178 public static SatellitePackage init() {
179 if (isInited)
180 return (SatellitePackage) EPackage.Registry.INSTANCE.getEPackage(SatellitePackage.eNS_URI);
181
182 // Obtain or create and register package
183 Object registeredSatellitePackage = EPackage.Registry.INSTANCE.get(eNS_URI);
184 SatellitePackageImpl theSatellitePackage = registeredSatellitePackage instanceof SatellitePackageImpl
185 ? (SatellitePackageImpl) registeredSatellitePackage
186 : new SatellitePackageImpl();
187
188 isInited = true;
189
190 // Create package meta-data objects
191 theSatellitePackage.createPackageContents();
192
193 // Initialize created meta-data
194 theSatellitePackage.initializePackageContents();
195
196 // Mark meta-data to indicate it can't be changed
197 theSatellitePackage.freeze();
198
199 // Update the registry and return the package
200 EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, theSatellitePackage);
201 return theSatellitePackage;
202 }
203
204 /**
205 * <!-- begin-user-doc -->
206 * <!-- end-user-doc -->
207 * @generated
208 */
209 @Override
210 public EClass getConstellationMission() {
211 return constellationMissionEClass;
212 }
213
214 /**
215 * <!-- begin-user-doc -->
216 * <!-- end-user-doc -->
217 * @generated
218 */
219 @Override
220 public EReference getConstellationMission_GroundStationNetwork() {
221 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(0);
222 }
223
224 /**
225 * <!-- begin-user-doc -->
226 * <!-- end-user-doc -->
227 * @generated
228 */
229 @Override
230 public EReference getConstellationMission_Spacecraft() {
231 return (EReference) constellationMissionEClass.getEStructuralFeatures().get(1);
232 }
233
234 /**
235 * <!-- begin-user-doc -->
236 * <!-- end-user-doc -->
237 * @generated
238 */
239 @Override
240 public EClass getInterferometryMission() {
241 return interferometryMissionEClass;
242 }
243
244 /**
245 * <!-- begin-user-doc -->
246 * <!-- end-user-doc -->
247 * @generated
248 */
249 @Override
250 public EClass getCommunicatingElement() {
251 return communicatingElementEClass;
252 }
253
254 /**
255 * <!-- begin-user-doc -->
256 * <!-- end-user-doc -->
257 * @generated
258 */
259 @Override
260 public EReference getCommunicatingElement_CommSubsystem() {
261 return (EReference) communicatingElementEClass.getEStructuralFeatures().get(0);
262 }
263
264 /**
265 * <!-- begin-user-doc -->
266 * <!-- end-user-doc -->
267 * @generated
268 */
269 @Override
270 public EClass getGroundStationNetwork() {
271 return groundStationNetworkEClass;
272 }
273
274 /**
275 * <!-- begin-user-doc -->
276 * <!-- end-user-doc -->
277 * @generated
278 */
279 @Override
280 public EClass getSpacecraft() {
281 return spacecraftEClass;
282 }
283
284 /**
285 * <!-- begin-user-doc -->
286 * <!-- end-user-doc -->
287 * @generated
288 */
289 @Override
290 public EReference getSpacecraft_Payload() {
291 return (EReference) spacecraftEClass.getEStructuralFeatures().get(0);
292 }
293
294 /**
295 * <!-- begin-user-doc -->
296 * <!-- end-user-doc -->
297 * @generated
298 */
299 @Override
300 public EClass getCommSubsystem() {
301 return commSubsystemEClass;
302 }
303
304 /**
305 * <!-- begin-user-doc -->
306 * <!-- end-user-doc -->
307 * @generated
308 */
309 @Override
310 public EReference getCommSubsystem_Target() {
311 return (EReference) commSubsystemEClass.getEStructuralFeatures().get(0);
312 }
313
314 /**
315 * <!-- begin-user-doc -->
316 * <!-- end-user-doc -->
317 * @generated
318 */
319 @Override
320 public EClass getPayload() {
321 return payloadEClass;
322 }
323
324 /**
325 * <!-- begin-user-doc -->
326 * <!-- end-user-doc -->
327 * @generated
328 */
329 @Override
330 public EClass getInterferometryPayload() {
331 return interferometryPayloadEClass;
332 }
333
334 /**
335 * <!-- begin-user-doc -->
336 * <!-- end-user-doc -->
337 * @generated
338 */
339 @Override
340 public EClass getCubeSat3U() {
341 return cubeSat3UEClass;
342 }
343
344 /**
345 * <!-- begin-user-doc -->
346 * <!-- end-user-doc -->
347 * @generated
348 */
349 @Override
350 public EClass getCubeSat6U() {
351 return cubeSat6UEClass;
352 }
353
354 /**
355 * <!-- begin-user-doc -->
356 * <!-- end-user-doc -->
357 * @generated
358 */
359 @Override
360 public EClass getSmallSat() {
361 return smallSatEClass;
362 }
363
364 /**
365 * <!-- begin-user-doc -->
366 * <!-- end-user-doc -->
367 * @generated
368 */
369 @Override
370 public EClass getCubeSat() {
371 return cubeSatEClass;
372 }
373
374 /**
375 * <!-- begin-user-doc -->
376 * <!-- end-user-doc -->
377 * @generated
378 */
379 @Override
380 public EClass getUHFCommSubsystem() {
381 return uhfCommSubsystemEClass;
382 }
383
384 /**
385 * <!-- begin-user-doc -->
386 * <!-- end-user-doc -->
387 * @generated
388 */
389 @Override
390 public EClass getXCommSubsystem() {
391 return xCommSubsystemEClass;
392 }
393
394 /**
395 * <!-- begin-user-doc -->
396 * <!-- end-user-doc -->
397 * @generated
398 */
399 @Override
400 public EClass getKaCommSubsystem() {
401 return kaCommSubsystemEClass;
402 }
403
404 /**
405 * <!-- begin-user-doc -->
406 * <!-- end-user-doc -->
407 * @generated
408 */
409 @Override
410 public SatelliteFactory getSatelliteFactory() {
411 return (SatelliteFactory) getEFactoryInstance();
412 }
413
414 /**
415 * <!-- begin-user-doc -->
416 * <!-- end-user-doc -->
417 * @generated
418 */
419 private boolean isCreated = false;
420
421 /**
422 * Creates the meta-model objects for the package. This method is
423 * guarded to have no affect on any invocation but its first.
424 * <!-- begin-user-doc -->
425 * <!-- end-user-doc -->
426 * @generated
427 */
428 public void createPackageContents() {
429 if (isCreated)
430 return;
431 isCreated = true;
432
433 // Create classes and their features
434 constellationMissionEClass = createEClass(CONSTELLATION_MISSION);
435 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__GROUND_STATION_NETWORK);
436 createEReference(constellationMissionEClass, CONSTELLATION_MISSION__SPACECRAFT);
437
438 interferometryMissionEClass = createEClass(INTERFEROMETRY_MISSION);
439
440 communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT);
441 createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM);
442
443 groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK);
444
445 spacecraftEClass = createEClass(SPACECRAFT);
446 createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD);
447
448 commSubsystemEClass = createEClass(COMM_SUBSYSTEM);
449 createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET);
450
451 payloadEClass = createEClass(PAYLOAD);
452
453 interferometryPayloadEClass = createEClass(INTERFEROMETRY_PAYLOAD);
454
455 cubeSat3UEClass = createEClass(CUBE_SAT3_U);
456
457 cubeSat6UEClass = createEClass(CUBE_SAT6_U);
458
459 smallSatEClass = createEClass(SMALL_SAT);
460
461 cubeSatEClass = createEClass(CUBE_SAT);
462
463 uhfCommSubsystemEClass = createEClass(UHF_COMM_SUBSYSTEM);
464
465 xCommSubsystemEClass = createEClass(XCOMM_SUBSYSTEM);
466
467 kaCommSubsystemEClass = createEClass(KA_COMM_SUBSYSTEM);
468 }
469
470 /**
471 * <!-- begin-user-doc -->
472 * <!-- end-user-doc -->
473 * @generated
474 */
475 private boolean isInitialized = false;
476
477 /**
478 * Complete the initialization of the package and its meta-model. This
479 * method is guarded to have no affect on any invocation but its first.
480 * <!-- begin-user-doc -->
481 * <!-- end-user-doc -->
482 * @generated
483 */
484 public void initializePackageContents() {
485 if (isInitialized)
486 return;
487 isInitialized = true;
488
489 // Initialize package
490 setName(eNAME);
491 setNsPrefix(eNS_PREFIX);
492 setNsURI(eNS_URI);
493
494 // Create type parameters
495
496 // Set bounds for type parameters
497
498 // Add supertypes to classes
499 interferometryMissionEClass.getESuperTypes().add(this.getConstellationMission());
500 groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement());
501 spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement());
502 interferometryPayloadEClass.getESuperTypes().add(this.getPayload());
503 cubeSat3UEClass.getESuperTypes().add(this.getCubeSat());
504 cubeSat6UEClass.getESuperTypes().add(this.getCubeSat());
505 smallSatEClass.getESuperTypes().add(this.getSpacecraft());
506 cubeSatEClass.getESuperTypes().add(this.getSpacecraft());
507 uhfCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
508 xCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
509 kaCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem());
510
511 // Initialize classes, features, and operations; add parameters
512 initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT,
513 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
514 initEReference(getConstellationMission_GroundStationNetwork(), this.getGroundStationNetwork(), null,
515 "groundStationNetwork", null, 1, 1, ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE,
516 IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
517 initEReference(getConstellationMission_Spacecraft(), this.getSpacecraft(), null, "spacecraft", null, 2, -1,
518 ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
519 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
520
521 initEClass(interferometryMissionEClass, InterferometryMission.class, "InterferometryMission", !IS_ABSTRACT,
522 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
523
524 initEClass(communicatingElementEClass, CommunicatingElement.class, "CommunicatingElement", IS_ABSTRACT,
525 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
526 initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1,
527 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
528 !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
529
530 initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT,
531 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
532
533 initEClass(spacecraftEClass, Spacecraft.class, "Spacecraft", IS_ABSTRACT, !IS_INTERFACE,
534 IS_GENERATED_INSTANCE_CLASS);
535 initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class,
536 !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE,
537 IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
538
539 initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE,
540 IS_GENERATED_INSTANCE_CLASS);
541 initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1,
542 CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
543 !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
544
545 initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
546
547 initEClass(interferometryPayloadEClass, InterferometryPayload.class, "InterferometryPayload", !IS_ABSTRACT,
548 !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
549
550 initEClass(cubeSat3UEClass, CubeSat3U.class, "CubeSat3U", !IS_ABSTRACT, !IS_INTERFACE,
551 IS_GENERATED_INSTANCE_CLASS);
552
553 initEClass(cubeSat6UEClass, CubeSat6U.class, "CubeSat6U", !IS_ABSTRACT, !IS_INTERFACE,
554 IS_GENERATED_INSTANCE_CLASS);
555
556 initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE,
557 IS_GENERATED_INSTANCE_CLASS);
558
559 initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
560
561 initEClass(uhfCommSubsystemEClass, UHFCommSubsystem.class, "UHFCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
562 IS_GENERATED_INSTANCE_CLASS);
563
564 initEClass(xCommSubsystemEClass, XCommSubsystem.class, "XCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
565 IS_GENERATED_INSTANCE_CLASS);
566
567 initEClass(kaCommSubsystemEClass, KaCommSubsystem.class, "KaCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE,
568 IS_GENERATED_INSTANCE_CLASS);
569
570 // Create resource
571 createResource(eNS_URI);
572 }
573
574} //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.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
new file mode 100644
index 00000000..9f17d43c
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore
@@ -0,0 +1,32 @@
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 </eClassifiers>
23 <eClassifiers xsi:type="ecore:EClass" name="Payload" abstract="true"/>
24 <eClassifiers xsi:type="ecore:EClass" name="InterferometryPayload" eSuperTypes="#//Payload"/>
25 <eClassifiers xsi:type="ecore:EClass" name="CubeSat3U" eSuperTypes="#//CubeSat"/>
26 <eClassifiers xsi:type="ecore:EClass" name="CubeSat6U" eSuperTypes="#//CubeSat"/>
27 <eClassifiers xsi:type="ecore:EClass" name="SmallSat" eSuperTypes="#//Spacecraft"/>
28 <eClassifiers xsi:type="ecore:EClass" name="CubeSat" abstract="true" eSuperTypes="#//Spacecraft"/>
29 <eClassifiers xsi:type="ecore:EClass" name="UHFCommSubsystem" eSuperTypes="#//CommSubsystem"/>
30 <eClassifiers xsi:type="ecore:EClass" name="XCommSubsystem" eSuperTypes="#//CommSubsystem"/>
31 <eClassifiers xsi:type="ecore:EClass" name="KaCommSubsystem" eSuperTypes="#//CommSubsystem"/>
32</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..bc98abd6
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel
@@ -0,0 +1,39 @@
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 </genClasses>
29 <genClasses image="false" ecoreClass="satellite.ecore#//Payload"/>
30 <genClasses ecoreClass="satellite.ecore#//InterferometryPayload"/>
31 <genClasses ecoreClass="satellite.ecore#//CubeSat3U"/>
32 <genClasses ecoreClass="satellite.ecore#//CubeSat6U"/>
33 <genClasses ecoreClass="satellite.ecore#//SmallSat"/>
34 <genClasses image="false" ecoreClass="satellite.ecore#//CubeSat"/>
35 <genClasses ecoreClass="satellite.ecore#//UHFCommSubsystem"/>
36 <genClasses ecoreClass="satellite.ecore#//XCommSubsystem"/>
37 <genClasses ecoreClass="satellite.ecore#//KaCommSubsystem"/>
38 </genPackages>
39</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..fe1af62e
--- /dev/null
+++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml
@@ -0,0 +1,26 @@
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
6 uri="http://www.example.org/satellite"
7 class="satellite.SatellitePackage"
8 genModel="model/satellite.genmodel"/>
9 </extension>
10 <extension id="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries" point="org.eclipse.viatra.query.runtime.queryspecification">
11 <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">
12 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLinkDoesNotStartAtContainingElement"/>
13 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmittingGroundStationNetwork"/>
14 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.roundStationNetworkUHF"/>
15 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.notEnoughInterferometryPayloads"/>
16 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noLinkToGroundStation"/>
17 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.unsat_linkToGroundStation"/>
18 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.noPotentialLinkToGroundStation"/>
19 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.communicationLoop"/>
20 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetBand"/>
21 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.threeUCubeSatWithNonUhfCrossLink"/>
22 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSatWithKaAntenna"/>
23 <query-specification fqn="hu.bme.mit.inf.dslreasoner.domains.satellite.queries.smallSat"/>
24 </group>
25 </extension>
26</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..ba12bbda
--- /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,325 @@
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.")
56pattern 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")
70pattern 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.")
77pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) {
78 ConstellationMission.groundStationNetwork(Mission, GroundStation);
79 ConstellationMission.spacecraft(Mission, Spacecraft);
80 neg find indirectLinkAllowed(Spacecraft, GroundStation);
81}
82
83private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) {
84 find linkAllowed+(From, To);
85}
86
87private 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
99private 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
116private 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////
184//// Metrics
185////
186//
187//// Coverage
188//
189//pattern coverageMetric(Coverage : java Double) {
190// Coverage == sum find missionCoverage(_, #_);
191//}
192//
193//private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) {
194// InterferometryMission.observationTime(Mission, ObservationTime);
195// ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _);
196// Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3);
197//}
198//
199//// Time
200//
201//pattern timeMetric(Time : java Double) {
202// Time == sum find missionTime(_, #_);
203//}
204//
205//private pattern missionTime(Mission : InterferometryMission, Time : java Double) {
206// InterferometryMission.observationTime(Mission, ObservationTime);
207// TrasmitTime == sum find transmitTime(Mission, _, #_);
208// Time == eval(TrasmitTime + 60.0 * ObservationTime);
209//}
210//
211//private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) {
212// ConstellationMission.spacecraft(Mission, Spacecraft);
213// find scienceData(Spacecraft, ScienceData);
214// IncomingData == sum find incomingData(Spacecraft, _, #_);
215// find transmitRate(Spacecraft, TransmitRate);
216// TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate));
217//}
218//
219//private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) {
220// find indirectCommunicationLink(Source, Spacecraft);
221// find scienceData(Source, Data);
222//}
223//
224//private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) {
225// ConstellationMission.spacecraft(Mission, Spacecraft);
226// InterferometryMission.observationTime(Mission, ObservationTime);
227// Data == eval(12.0 * ObservationTime);
228//}
229//
230//private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) {
231// find spacecraftUplink(Spacecraft, Comm, Target);
232// UHFCommSubsystem(Comm);
233// Spacecraft(Target);
234// TransmitRate == 5.0;
235//} or {
236// find spacecraftUplink(Spacecraft, Comm, Target);
237// XCommSubsystem(Comm);
238// Spacecraft(Target);
239// TransmitRate == 1.6;
240//} or {
241// find spacecraftUplink(Spacecraft, Comm, Target);
242// XCommSubsystem(Comm);
243// GroundStationNetwork(Target);
244// TransmitRate == 0.7;
245//} or {
246// find spacecraftUplink(Spacecraft, Comm, Target);
247// KaCommSubsystem(Comm);
248// Spacecraft(Target);
249// TransmitRate == 220.0;
250//} or {
251// find spacecraftUplink(Spacecraft, Comm, Target);
252// KaCommSubsystem(Comm);
253// GroundStationNetwork(Target);
254// TransmitRate == 80.0;
255//}
256//
257//private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) {
258// CommunicatingElement.commSubsystem.target(Spacecraft, TargetSubsystem);
259// CommunicatingElement.commSubsystem(Target, TargetSubsystem);
260//}
261//
262//// Cost
263//
264//pattern costMetric(Cost : java Double) {
265// Cost == sum find missionCost(_, #_);
266//}
267//
268//private pattern missionCost(Mission : InterferometryMission, Cost : java Double) {
269// InterferometryMission.observationTime(Mission, ObservationTime);
270// SpacecraftCost == sum find spacecraftCost(Mission, _, #_);
271// Cost == eval(SpacecraftCost + 100000.0 * ObservationTime);
272//}
273//
274//private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) {
275// ConstellationMission.spacecraft(Mission, Spacecraft);
276// find spacecraftOfKindCount(Spacecraft, KindCount);
277// find basePrice(Spacecraft, BasePrice);
278// find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost);
279// find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost);
280// Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost);
281//}
282//
283//private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) {
284// CubeSat3U(Sat);
285// Count == count find cubeSat3U(_);
286//} or {
287// CubeSat6U(Sat);
288// Count == count find cubeSat6U(_);
289//} or {
290// SmallSat(Sat);
291// Count == count find smallSat(_);
292//}
293//
294//private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) {
295// CubeSat3U(Spacecraft);
296// BasePrice == 250000.0;
297//} or {
298// CubeSat6U(Spacecraft);
299// BasePrice == 750000.0;
300//} or {
301// SmallSat(Spacecraft);
302// BasePrice == 3000000.0;
303//}
304//
305//private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) {
306// find spacecraftWithInterferometryPayload(_, Spacecraft);
307// Cost == 50000.0;
308//} or {
309// neg find spacecraftWithInterferometryPayload(_, Spacecraft);
310// Cost == 0.0;
311//}
312//
313//private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) {
314// find spacecraftWithTwoCommSubsystems(Spacecraft);
315// Cost == 100000.0;
316//} or {
317// neg find spacecraftWithTwoCommSubsystems(Spacecraft);
318// Cost == 0.0;
319//}
320//
321//private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) {
322// Spacecraft.commSubsystem(Spacecraft, Subsystem1);
323// Spacecraft.commSubsystem(Spacecraft, Subsystem2);
324// Subsystem1 != Subsystem2;
325//}
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..5e4e4ef0
--- /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,17 @@
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 println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig"))
16 }
17}