From 7adead25f3c8451a51a3f8fa1d45b0b8f93b3a69 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 10 May 2020 22:09:17 +0200 Subject: Add satellite case study --- .../.classpath | 14 + .../.gitignore | 5 + .../.project | 40 + .../META-INF/MANIFEST.MF | 30 + .../build.properties | 11 + .../configs/generation.vsconfig | 25 + .../ecore-gen/satellite/AntennaGain.java | 230 +++++ .../ecore-gen/satellite/CommSubsystem.java | 47 + .../ecore-gen/satellite/CommunicatingElement.java | 38 + .../ecore-gen/satellite/ConstellationMission.java | 61 ++ .../ecore-gen/satellite/CubeSat.java | 16 + .../ecore-gen/satellite/CubeSat3U.java | 16 + .../ecore-gen/satellite/CubeSat6U.java | 16 + .../ecore-gen/satellite/GroundStationNetwork.java | 16 + .../ecore-gen/satellite/InterferometryMission.java | 17 + .../ecore-gen/satellite/InterferometryPayload.java | 16 + .../ecore-gen/satellite/KaCommSubsystem.java | 16 + .../ecore-gen/satellite/Payload.java | 18 + .../ecore-gen/satellite/SatelliteFactory.java | 114 +++ .../ecore-gen/satellite/SatellitePackage.java | 1079 ++++++++++++++++++++ .../ecore-gen/satellite/SmallSat.java | 16 + .../ecore-gen/satellite/Spacecraft.java | 44 + .../ecore-gen/satellite/SpacecraftKind.java | 230 +++++ .../ecore-gen/satellite/TransceiverBand.java | 230 +++++ .../ecore-gen/satellite/UHFCommSubsystem.java | 16 + .../ecore-gen/satellite/XCommSubsystem.java | 16 + .../satellite/impl/CommSubsystemImpl.java | 159 +++ .../satellite/impl/CommunicatingElementImpl.java | 152 +++ .../satellite/impl/ConstellationMissionImpl.java | 237 +++++ .../ecore-gen/satellite/impl/CubeSat3UImpl.java | 37 + .../ecore-gen/satellite/impl/CubeSat6UImpl.java | 37 + .../ecore-gen/satellite/impl/CubeSatImpl.java | 37 + .../satellite/impl/GroundStationNetworkImpl.java | 37 + .../satellite/impl/InterferometryMissionImpl.java | 36 + .../satellite/impl/InterferometryPayloadImpl.java | 37 + .../satellite/impl/KaCommSubsystemImpl.java | 37 + .../ecore-gen/satellite/impl/PayloadImpl.java | 39 + .../satellite/impl/SatelliteFactoryImpl.java | 202 ++++ .../satellite/impl/SatellitePackageImpl.java | 574 +++++++++++ .../ecore-gen/satellite/impl/SmallSatImpl.java | 37 + .../ecore-gen/satellite/impl/SpacecraftImpl.java | 184 ++++ .../satellite/impl/UHFCommSubsystemImpl.java | 37 + .../satellite/impl/XCommSubsystemImpl.java | 37 + .../satellite/util/SatelliteAdapterFactory.java | 385 +++++++ .../ecore-gen/satellite/util/SatelliteSwitch.java | 454 ++++++++ .../inputs/SatelliteInstance.xmi | 7 + .../model/satellite.ecore | 32 + .../model/satellite.genmodel | 39 + .../plugin.properties | 4 + .../plugin.xml | 26 + .../domains/satellite/queries/SatelliteQueries.vql | 325 ++++++ .../satellite/runner/SatelliteGeneratorMain.xtend | 17 + 52 files changed, 5582 insertions(+) create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.gitignore create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/META-INF/MANIFEST.MF create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/build.properties create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommSubsystem.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CommunicatingElement.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/ConstellationMission.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat3U.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/CubeSat6U.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/GroundStationNetwork.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryMission.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/InterferometryPayload.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/KaCommSubsystem.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Payload.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatellitePackage.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SmallSat.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/Spacecraft.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SpacecraftKind.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/TransceiverBand.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/UHFCommSubsystem.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/XCommSubsystem.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommSubsystemImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CommunicatingElementImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/ConstellationMissionImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat3UImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSat6UImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/CubeSatImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/GroundStationNetworkImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryMissionImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/InterferometryPayloadImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/KaCommSubsystemImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/PayloadImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatellitePackageImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SmallSatImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SpacecraftImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/UHFCommSubsystemImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/XCommSubsystemImpl.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteAdapterFactory.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/util/SatelliteSwitch.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.properties create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend (limited to 'Domains') 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 @@ + + + + + + + + + + + + + + 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 @@ +/bin/ +/mdeo-results/ +/outputs/ +/src-gen/ +/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 @@ + + + hu.bme.mit.inf.dslreasoner.domains.satellite + + + + + + org.eclipse.viatra.query.tooling.ui.projectbuilder + + + + + org.eclipse.xtext.ui.shared.xtextBuilder + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + org.eclipse.viatra.query.projectnature + org.eclipse.xtext.ui.shared.xtextNature + + 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 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: hu.bme.mit.inf.dslreasoner.domains.satellite;singleton:=true +Bundle-Version: 0.1.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite.queries, + hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal, + satellite, + satellite.impl, + satellite.util +Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, + org.eclipse.viatra.query.runtime, + org.eclipse.viatra.query.runtime.rete, + org.eclipse.viatra.query.runtime.localsearch, + org.eclipse.xtext.xbase.lib, + org.eclipse.emf.ecore;visibility:=reexport, + org.eclipse.core.runtime, + hu.bme.mit.inf.dslreasoner.application, + org.eclipse.viatra.dse, + org.eclipse.viatra.dse.genetic, + hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", + org.eclipse.emf.ecore.xmi;bundle-version="2.15.0", + org.eclipse.viatra.query.runtime.rete;bundle-version="2.0.0" +Import-Package: org.apache.log4j +Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite +Bundle-ActivationPolicy: lazy +Bundle-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 @@ +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = ecore-gen/,\ + src-gen/,\ + src/,\ + xtend-gen/ +output.. = 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 @@ +import epackage "model/satellite.ecore" +import viatra "src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql" + +generate { + metamodel = { package satellite } + constraints = { package hu.bme.mit.inf.dslreasoner.domains.satellite.queries } + partial-model = { "inputs/SatelliteInstance.xmi"} + solver = ViatraSolver + scope = { + #node += 32..64 + } + + config = { + runtime = 10000, + log-level = normal + } + + number = 1 + runs = 5 + + debug = "outputs/debug" + log = "outputs/log.txt" + output = "outputs/models" + statistics = "outputs/statistics.csv" +} 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 @@ +/** + */ +package satellite; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Antenna Gain', + * and utility methods for working with them. + * + * @see satellite.SatellitePackage#getAntennaGain() + * @model + * @generated + */ +public enum AntennaGain implements Enumerator { + /** + * The 'LOW' literal object. + * + * + * @see #LOW_VALUE + * @generated + * @ordered + */ + LOW(0, "LOW", "LOW"), + + /** + * The 'MEDIUM' literal object. + * + * + * @see #MEDIUM_VALUE + * @generated + * @ordered + */ + MEDIUM(1, "MEDIUM", "MEDIUM"), + + /** + * The 'HIGH' literal object. + * + * + * @see #HIGH_VALUE + * @generated + * @ordered + */ + HIGH(2, "HIGH", "HIGH"); + + /** + * The 'LOW' literal value. + * + * + * @see #LOW + * @model + * @generated + * @ordered + */ + public static final int LOW_VALUE = 0; + + /** + * The 'MEDIUM' literal value. + * + * + * @see #MEDIUM + * @model + * @generated + * @ordered + */ + public static final int MEDIUM_VALUE = 1; + + /** + * The 'HIGH' literal value. + * + * + * @see #HIGH + * @model + * @generated + * @ordered + */ + public static final int HIGH_VALUE = 2; + + /** + * An array of all the 'Antenna Gain' enumerators. + * + * + * @generated + */ + private static final AntennaGain[] VALUES_ARRAY = new AntennaGain[] { LOW, MEDIUM, HIGH, }; + + /** + * A public read-only list of all the 'Antenna Gain' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Antenna Gain' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static AntennaGain get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + AntennaGain result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Antenna Gain' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static AntennaGain getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + AntennaGain result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Antenna Gain' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static AntennaGain get(int value) { + switch (value) { + case LOW_VALUE: + return LOW; + case MEDIUM_VALUE: + return MEDIUM; + case HIGH_VALUE: + return HIGH; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private AntennaGain(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Comm Subsystem'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see satellite.SatellitePackage#getCommSubsystem() + * @model abstract="true" + * @generated + */ +public interface CommSubsystem extends EObject { + + /** + * Returns the value of the 'Target' reference. + * + * + * @return the value of the 'Target' reference. + * @see #setTarget(CommSubsystem) + * @see satellite.SatellitePackage#getCommSubsystem_Target() + * @model + * @generated + */ + CommSubsystem getTarget(); + + /** + * Sets the value of the '{@link satellite.CommSubsystem#getTarget Target}' reference. + * + * + * @param value the new value of the 'Target' reference. + * @see #getTarget() + * @generated + */ + void setTarget(CommSubsystem value); + +} // 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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Communicating Element'. + * + * + *

+ * The following features are supported: + *

+ * + * + * @see satellite.SatellitePackage#getCommunicatingElement() + * @model abstract="true" + * @generated + */ +public interface CommunicatingElement extends EObject { + /** + * Returns the value of the 'Comm Subsystem' containment reference list. + * The list contents are of type {@link satellite.CommSubsystem}. + * + * + * @return the value of the 'Comm Subsystem' containment reference list. + * @see satellite.SatellitePackage#getCommunicatingElement_CommSubsystem() + * @model containment="true" required="true" upper="2" + * @generated + */ + EList getCommSubsystem(); + +} // 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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Constellation Mission'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link satellite.ConstellationMission#getGroundStationNetwork Ground Station Network}
  • + *
  • {@link satellite.ConstellationMission#getSpacecraft Spacecraft}
  • + *
+ * + * @see satellite.SatellitePackage#getConstellationMission() + * @model abstract="true" + * @generated + */ +public interface ConstellationMission extends EObject { + /** + * Returns the value of the 'Ground Station Network' containment reference. + * + * + * @return the value of the 'Ground Station Network' containment reference. + * @see #setGroundStationNetwork(GroundStationNetwork) + * @see satellite.SatellitePackage#getConstellationMission_GroundStationNetwork() + * @model containment="true" required="true" + * @generated + */ + GroundStationNetwork getGroundStationNetwork(); + + /** + * Sets the value of the '{@link satellite.ConstellationMission#getGroundStationNetwork Ground Station Network}' containment reference. + * + * + * @param value the new value of the 'Ground Station Network' containment reference. + * @see #getGroundStationNetwork() + * @generated + */ + void setGroundStationNetwork(GroundStationNetwork value); + + /** + * Returns the value of the 'Spacecraft' containment reference list. + * The list contents are of type {@link satellite.Spacecraft}. + * + * + * @return the value of the 'Spacecraft' containment reference list. + * @see satellite.SatellitePackage#getConstellationMission_Spacecraft() + * @model containment="true" lower="2" + * @generated + */ + EList getSpacecraft(); + +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Cube Sat'. + * + * + * + * @see satellite.SatellitePackage#getCubeSat() + * @model abstract="true" + * @generated + */ +public interface CubeSat extends Spacecraft { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Cube Sat3 U'. + * + * + * + * @see satellite.SatellitePackage#getCubeSat3U() + * @model + * @generated + */ +public interface CubeSat3U extends CubeSat { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Cube Sat6 U'. + * + * + * + * @see satellite.SatellitePackage#getCubeSat6U() + * @model + * @generated + */ +public interface CubeSat6U extends CubeSat { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Ground Station Network'. + * + * + * + * @see satellite.SatellitePackage#getGroundStationNetwork() + * @model + * @generated + */ +public interface GroundStationNetwork extends CommunicatingElement { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Interferometry Mission'. + * + * + * + * @see satellite.SatellitePackage#getInterferometryMission() + * @model + * @generated + */ +public interface InterferometryMission extends ConstellationMission { + +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Interferometry Payload'. + * + * + * + * @see satellite.SatellitePackage#getInterferometryPayload() + * @model + * @generated + */ +public interface InterferometryPayload extends Payload { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Ka Comm Subsystem'. + * + * + * + * @see satellite.SatellitePackage#getKaCommSubsystem() + * @model + * @generated + */ +public interface KaCommSubsystem extends CommSubsystem { +} // 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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Payload'. + * + * + * + * @see satellite.SatellitePackage#getPayload() + * @model abstract="true" + * @generated + */ +public interface Payload extends EObject { +} // 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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see satellite.SatellitePackage + * @generated + */ +public interface SatelliteFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + SatelliteFactory eINSTANCE = satellite.impl.SatelliteFactoryImpl.init(); + + /** + * Returns a new object of class 'Interferometry Mission'. + * + * + * @return a new object of class 'Interferometry Mission'. + * @generated + */ + InterferometryMission createInterferometryMission(); + + /** + * Returns a new object of class 'Ground Station Network'. + * + * + * @return a new object of class 'Ground Station Network'. + * @generated + */ + GroundStationNetwork createGroundStationNetwork(); + + /** + * Returns a new object of class 'Interferometry Payload'. + * + * + * @return a new object of class 'Interferometry Payload'. + * @generated + */ + InterferometryPayload createInterferometryPayload(); + + /** + * Returns a new object of class 'Cube Sat3 U'. + * + * + * @return a new object of class 'Cube Sat3 U'. + * @generated + */ + CubeSat3U createCubeSat3U(); + + /** + * Returns a new object of class 'Cube Sat6 U'. + * + * + * @return a new object of class 'Cube Sat6 U'. + * @generated + */ + CubeSat6U createCubeSat6U(); + + /** + * Returns a new object of class 'Small Sat'. + * + * + * @return a new object of class 'Small Sat'. + * @generated + */ + SmallSat createSmallSat(); + + /** + * Returns a new object of class 'UHF Comm Subsystem'. + * + * + * @return a new object of class 'UHF Comm Subsystem'. + * @generated + */ + UHFCommSubsystem createUHFCommSubsystem(); + + /** + * Returns a new object of class 'XComm Subsystem'. + * + * + * @return a new object of class 'XComm Subsystem'. + * @generated + */ + XCommSubsystem createXCommSubsystem(); + + /** + * Returns a new object of class 'Ka Comm Subsystem'. + * + * + * @return a new object of class 'Ka Comm Subsystem'. + * @generated + */ + KaCommSubsystem createKaCommSubsystem(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + SatellitePackage getSatellitePackage(); + +} //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 @@ +/** + */ +package satellite; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see satellite.SatelliteFactory + * @model kind="package" + * @generated + */ +public interface SatellitePackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "satellite"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://www.example.org/satellite"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "satellite"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + SatellitePackage eINSTANCE = satellite.impl.SatellitePackageImpl.init(); + + /** + * The meta object id for the '{@link satellite.impl.ConstellationMissionImpl Constellation Mission}' class. + * + * + * @see satellite.impl.ConstellationMissionImpl + * @see satellite.impl.SatellitePackageImpl#getConstellationMission() + * @generated + */ + int CONSTELLATION_MISSION = 0; + + /** + * The feature id for the 'Ground Station Network' containment reference. + * + * + * @generated + * @ordered + */ + int CONSTELLATION_MISSION__GROUND_STATION_NETWORK = 0; + + /** + * The feature id for the 'Spacecraft' containment reference list. + * + * + * @generated + * @ordered + */ + int CONSTELLATION_MISSION__SPACECRAFT = 1; + + /** + * The number of structural features of the 'Constellation Mission' class. + * + * + * @generated + * @ordered + */ + int CONSTELLATION_MISSION_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Constellation Mission' class. + * + * + * @generated + * @ordered + */ + int CONSTELLATION_MISSION_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link satellite.impl.InterferometryMissionImpl Interferometry Mission}' class. + * + * + * @see satellite.impl.InterferometryMissionImpl + * @see satellite.impl.SatellitePackageImpl#getInterferometryMission() + * @generated + */ + int INTERFEROMETRY_MISSION = 1; + + /** + * The feature id for the 'Ground Station Network' containment reference. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_MISSION__GROUND_STATION_NETWORK = CONSTELLATION_MISSION__GROUND_STATION_NETWORK; + + /** + * The feature id for the 'Spacecraft' containment reference list. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_MISSION__SPACECRAFT = CONSTELLATION_MISSION__SPACECRAFT; + + /** + * The number of structural features of the 'Interferometry Mission' class. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_MISSION_FEATURE_COUNT = CONSTELLATION_MISSION_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Interferometry Mission' class. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_MISSION_OPERATION_COUNT = CONSTELLATION_MISSION_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.CommunicatingElementImpl Communicating Element}' class. + * + * + * @see satellite.impl.CommunicatingElementImpl + * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement() + * @generated + */ + int COMMUNICATING_ELEMENT = 2; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = 0; + + /** + * The number of structural features of the 'Communicating Element' class. + * + * + * @generated + * @ordered + */ + int COMMUNICATING_ELEMENT_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Communicating Element' class. + * + * + * @generated + * @ordered + */ + int COMMUNICATING_ELEMENT_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link satellite.impl.GroundStationNetworkImpl Ground Station Network}' class. + * + * + * @see satellite.impl.GroundStationNetworkImpl + * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork() + * @generated + */ + int GROUND_STATION_NETWORK = 3; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int GROUND_STATION_NETWORK__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; + + /** + * The number of structural features of the 'Ground Station Network' class. + * + * + * @generated + * @ordered + */ + int GROUND_STATION_NETWORK_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Ground Station Network' class. + * + * + * @generated + * @ordered + */ + int GROUND_STATION_NETWORK_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.SpacecraftImpl Spacecraft}' class. + * + * + * @see satellite.impl.SpacecraftImpl + * @see satellite.impl.SatellitePackageImpl#getSpacecraft() + * @generated + */ + int SPACECRAFT = 4; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int SPACECRAFT__COMM_SUBSYSTEM = COMMUNICATING_ELEMENT__COMM_SUBSYSTEM; + + /** + * The feature id for the 'Payload' containment reference. + * + * + * @generated + * @ordered + */ + int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Spacecraft' class. + * + * + * @generated + * @ordered + */ + int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Spacecraft' class. + * + * + * @generated + * @ordered + */ + int SPACECRAFT_OPERATION_COUNT = COMMUNICATING_ELEMENT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.CommSubsystemImpl Comm Subsystem}' class. + * + * + * @see satellite.impl.CommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getCommSubsystem() + * @generated + */ + int COMM_SUBSYSTEM = 5; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int COMM_SUBSYSTEM__TARGET = 0; + + /** + * The number of structural features of the 'Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int COMM_SUBSYSTEM_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int COMM_SUBSYSTEM_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link satellite.impl.PayloadImpl Payload}' class. + * + * + * @see satellite.impl.PayloadImpl + * @see satellite.impl.SatellitePackageImpl#getPayload() + * @generated + */ + int PAYLOAD = 6; + + /** + * The number of structural features of the 'Payload' class. + * + * + * @generated + * @ordered + */ + int PAYLOAD_FEATURE_COUNT = 0; + + /** + * The number of operations of the 'Payload' class. + * + * + * @generated + * @ordered + */ + int PAYLOAD_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link satellite.impl.InterferometryPayloadImpl Interferometry Payload}' class. + * + * + * @see satellite.impl.InterferometryPayloadImpl + * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload() + * @generated + */ + int INTERFEROMETRY_PAYLOAD = 7; + + /** + * The number of structural features of the 'Interferometry Payload' class. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_PAYLOAD_FEATURE_COUNT = PAYLOAD_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Interferometry Payload' class. + * + * + * @generated + * @ordered + */ + int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.CubeSatImpl Cube Sat}' class. + * + * + * @see satellite.impl.CubeSatImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat() + * @generated + */ + int CUBE_SAT = 11; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; + + /** + * The feature id for the 'Payload' containment reference. + * + * + * @generated + * @ordered + */ + int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; + + /** + * The number of structural features of the 'Cube Sat' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Cube Sat' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.CubeSat3UImpl Cube Sat3 U}' class. + * + * + * @see satellite.impl.CubeSat3UImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat3U() + * @generated + */ + int CUBE_SAT3_U = 8; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int CUBE_SAT3_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; + + /** + * The feature id for the 'Payload' containment reference. + * + * + * @generated + * @ordered + */ + int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD; + + /** + * The number of structural features of the 'Cube Sat3 U' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Cube Sat3 U' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT3_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.CubeSat6UImpl Cube Sat6 U}' class. + * + * + * @see satellite.impl.CubeSat6UImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat6U() + * @generated + */ + int CUBE_SAT6_U = 9; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; + + /** + * The feature id for the 'Payload' containment reference. + * + * + * @generated + * @ordered + */ + int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD; + + /** + * The number of structural features of the 'Cube Sat6 U' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Cube Sat6 U' class. + * + * + * @generated + * @ordered + */ + int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.SmallSatImpl Small Sat}' class. + * + * + * @see satellite.impl.SmallSatImpl + * @see satellite.impl.SatellitePackageImpl#getSmallSat() + * @generated + */ + int SMALL_SAT = 10; + + /** + * The feature id for the 'Comm Subsystem' containment reference list. + * + * + * @generated + * @ordered + */ + int SMALL_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; + + /** + * The feature id for the 'Payload' containment reference. + * + * + * @generated + * @ordered + */ + int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; + + /** + * The number of structural features of the 'Small Sat' class. + * + * + * @generated + * @ordered + */ + int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Small Sat' class. + * + * + * @generated + * @ordered + */ + int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.UHFCommSubsystemImpl UHF Comm Subsystem}' class. + * + * + * @see satellite.impl.UHFCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem() + * @generated + */ + int UHF_COMM_SUBSYSTEM = 12; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int UHF_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + + /** + * The number of structural features of the 'UHF Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int UHF_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'UHF Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int UHF_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.XCommSubsystemImpl XComm Subsystem}' class. + * + * + * @see satellite.impl.XCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem() + * @generated + */ + int XCOMM_SUBSYSTEM = 13; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int XCOMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + + /** + * The number of structural features of the 'XComm Subsystem' class. + * + * + * @generated + * @ordered + */ + int XCOMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'XComm Subsystem' class. + * + * + * @generated + * @ordered + */ + int XCOMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link satellite.impl.KaCommSubsystemImpl Ka Comm Subsystem}' class. + * + * + * @see satellite.impl.KaCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem() + * @generated + */ + int KA_COMM_SUBSYSTEM = 14; + + /** + * The feature id for the 'Target' reference. + * + * + * @generated + * @ordered + */ + int KA_COMM_SUBSYSTEM__TARGET = COMM_SUBSYSTEM__TARGET; + + /** + * The number of structural features of the 'Ka Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int KA_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0; + + /** + * The number of operations of the 'Ka Comm Subsystem' class. + * + * + * @generated + * @ordered + */ + int KA_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0; + + /** + * Returns the meta object for class '{@link satellite.ConstellationMission Constellation Mission}'. + * + * + * @return the meta object for class 'Constellation Mission'. + * @see satellite.ConstellationMission + * @generated + */ + EClass getConstellationMission(); + + /** + * Returns the meta object for the containment reference '{@link satellite.ConstellationMission#getGroundStationNetwork Ground Station Network}'. + * + * + * @return the meta object for the containment reference 'Ground Station Network'. + * @see satellite.ConstellationMission#getGroundStationNetwork() + * @see #getConstellationMission() + * @generated + */ + EReference getConstellationMission_GroundStationNetwork(); + + /** + * Returns the meta object for the containment reference list '{@link satellite.ConstellationMission#getSpacecraft Spacecraft}'. + * + * + * @return the meta object for the containment reference list 'Spacecraft'. + * @see satellite.ConstellationMission#getSpacecraft() + * @see #getConstellationMission() + * @generated + */ + EReference getConstellationMission_Spacecraft(); + + /** + * Returns the meta object for class '{@link satellite.InterferometryMission Interferometry Mission}'. + * + * + * @return the meta object for class 'Interferometry Mission'. + * @see satellite.InterferometryMission + * @generated + */ + EClass getInterferometryMission(); + + /** + * Returns the meta object for class '{@link satellite.CommunicatingElement Communicating Element}'. + * + * + * @return the meta object for class 'Communicating Element'. + * @see satellite.CommunicatingElement + * @generated + */ + EClass getCommunicatingElement(); + + /** + * Returns the meta object for the containment reference list '{@link satellite.CommunicatingElement#getCommSubsystem Comm Subsystem}'. + * + * + * @return the meta object for the containment reference list 'Comm Subsystem'. + * @see satellite.CommunicatingElement#getCommSubsystem() + * @see #getCommunicatingElement() + * @generated + */ + EReference getCommunicatingElement_CommSubsystem(); + + /** + * Returns the meta object for class '{@link satellite.GroundStationNetwork Ground Station Network}'. + * + * + * @return the meta object for class 'Ground Station Network'. + * @see satellite.GroundStationNetwork + * @generated + */ + EClass getGroundStationNetwork(); + + /** + * Returns the meta object for class '{@link satellite.Spacecraft Spacecraft}'. + * + * + * @return the meta object for class 'Spacecraft'. + * @see satellite.Spacecraft + * @generated + */ + EClass getSpacecraft(); + + /** + * Returns the meta object for the containment reference '{@link satellite.Spacecraft#getPayload Payload}'. + * + * + * @return the meta object for the containment reference 'Payload'. + * @see satellite.Spacecraft#getPayload() + * @see #getSpacecraft() + * @generated + */ + EReference getSpacecraft_Payload(); + + /** + * Returns the meta object for class '{@link satellite.CommSubsystem Comm Subsystem}'. + * + * + * @return the meta object for class 'Comm Subsystem'. + * @see satellite.CommSubsystem + * @generated + */ + EClass getCommSubsystem(); + + /** + * Returns the meta object for the reference '{@link satellite.CommSubsystem#getTarget Target}'. + * + * + * @return the meta object for the reference 'Target'. + * @see satellite.CommSubsystem#getTarget() + * @see #getCommSubsystem() + * @generated + */ + EReference getCommSubsystem_Target(); + + /** + * Returns the meta object for class '{@link satellite.Payload Payload}'. + * + * + * @return the meta object for class 'Payload'. + * @see satellite.Payload + * @generated + */ + EClass getPayload(); + + /** + * Returns the meta object for class '{@link satellite.InterferometryPayload Interferometry Payload}'. + * + * + * @return the meta object for class 'Interferometry Payload'. + * @see satellite.InterferometryPayload + * @generated + */ + EClass getInterferometryPayload(); + + /** + * Returns the meta object for class '{@link satellite.CubeSat3U Cube Sat3 U}'. + * + * + * @return the meta object for class 'Cube Sat3 U'. + * @see satellite.CubeSat3U + * @generated + */ + EClass getCubeSat3U(); + + /** + * Returns the meta object for class '{@link satellite.CubeSat6U Cube Sat6 U}'. + * + * + * @return the meta object for class 'Cube Sat6 U'. + * @see satellite.CubeSat6U + * @generated + */ + EClass getCubeSat6U(); + + /** + * Returns the meta object for class '{@link satellite.SmallSat Small Sat}'. + * + * + * @return the meta object for class 'Small Sat'. + * @see satellite.SmallSat + * @generated + */ + EClass getSmallSat(); + + /** + * Returns the meta object for class '{@link satellite.CubeSat Cube Sat}'. + * + * + * @return the meta object for class 'Cube Sat'. + * @see satellite.CubeSat + * @generated + */ + EClass getCubeSat(); + + /** + * Returns the meta object for class '{@link satellite.UHFCommSubsystem UHF Comm Subsystem}'. + * + * + * @return the meta object for class 'UHF Comm Subsystem'. + * @see satellite.UHFCommSubsystem + * @generated + */ + EClass getUHFCommSubsystem(); + + /** + * Returns the meta object for class '{@link satellite.XCommSubsystem XComm Subsystem}'. + * + * + * @return the meta object for class 'XComm Subsystem'. + * @see satellite.XCommSubsystem + * @generated + */ + EClass getXCommSubsystem(); + + /** + * Returns the meta object for class '{@link satellite.KaCommSubsystem Ka Comm Subsystem}'. + * + * + * @return the meta object for class 'Ka Comm Subsystem'. + * @see satellite.KaCommSubsystem + * @generated + */ + EClass getKaCommSubsystem(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + SatelliteFactory getSatelliteFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link satellite.impl.ConstellationMissionImpl Constellation Mission}' class. + * + * + * @see satellite.impl.ConstellationMissionImpl + * @see satellite.impl.SatellitePackageImpl#getConstellationMission() + * @generated + */ + EClass CONSTELLATION_MISSION = eINSTANCE.getConstellationMission(); + + /** + * The meta object literal for the 'Ground Station Network' containment reference feature. + * + * + * @generated + */ + EReference CONSTELLATION_MISSION__GROUND_STATION_NETWORK = eINSTANCE + .getConstellationMission_GroundStationNetwork(); + + /** + * The meta object literal for the 'Spacecraft' containment reference list feature. + * + * + * @generated + */ + EReference CONSTELLATION_MISSION__SPACECRAFT = eINSTANCE.getConstellationMission_Spacecraft(); + + /** + * The meta object literal for the '{@link satellite.impl.InterferometryMissionImpl Interferometry Mission}' class. + * + * + * @see satellite.impl.InterferometryMissionImpl + * @see satellite.impl.SatellitePackageImpl#getInterferometryMission() + * @generated + */ + EClass INTERFEROMETRY_MISSION = eINSTANCE.getInterferometryMission(); + + /** + * The meta object literal for the '{@link satellite.impl.CommunicatingElementImpl Communicating Element}' class. + * + * + * @see satellite.impl.CommunicatingElementImpl + * @see satellite.impl.SatellitePackageImpl#getCommunicatingElement() + * @generated + */ + EClass COMMUNICATING_ELEMENT = eINSTANCE.getCommunicatingElement(); + + /** + * The meta object literal for the 'Comm Subsystem' containment reference list feature. + * + * + * @generated + */ + EReference COMMUNICATING_ELEMENT__COMM_SUBSYSTEM = eINSTANCE.getCommunicatingElement_CommSubsystem(); + + /** + * The meta object literal for the '{@link satellite.impl.GroundStationNetworkImpl Ground Station Network}' class. + * + * + * @see satellite.impl.GroundStationNetworkImpl + * @see satellite.impl.SatellitePackageImpl#getGroundStationNetwork() + * @generated + */ + EClass GROUND_STATION_NETWORK = eINSTANCE.getGroundStationNetwork(); + + /** + * The meta object literal for the '{@link satellite.impl.SpacecraftImpl Spacecraft}' class. + * + * + * @see satellite.impl.SpacecraftImpl + * @see satellite.impl.SatellitePackageImpl#getSpacecraft() + * @generated + */ + EClass SPACECRAFT = eINSTANCE.getSpacecraft(); + + /** + * The meta object literal for the 'Payload' containment reference feature. + * + * + * @generated + */ + EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload(); + + /** + * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl Comm Subsystem}' class. + * + * + * @see satellite.impl.CommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getCommSubsystem() + * @generated + */ + EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem(); + + /** + * The meta object literal for the 'Target' reference feature. + * + * + * @generated + */ + EReference COMM_SUBSYSTEM__TARGET = eINSTANCE.getCommSubsystem_Target(); + + /** + * The meta object literal for the '{@link satellite.impl.PayloadImpl Payload}' class. + * + * + * @see satellite.impl.PayloadImpl + * @see satellite.impl.SatellitePackageImpl#getPayload() + * @generated + */ + EClass PAYLOAD = eINSTANCE.getPayload(); + + /** + * The meta object literal for the '{@link satellite.impl.InterferometryPayloadImpl Interferometry Payload}' class. + * + * + * @see satellite.impl.InterferometryPayloadImpl + * @see satellite.impl.SatellitePackageImpl#getInterferometryPayload() + * @generated + */ + EClass INTERFEROMETRY_PAYLOAD = eINSTANCE.getInterferometryPayload(); + + /** + * The meta object literal for the '{@link satellite.impl.CubeSat3UImpl Cube Sat3 U}' class. + * + * + * @see satellite.impl.CubeSat3UImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat3U() + * @generated + */ + EClass CUBE_SAT3_U = eINSTANCE.getCubeSat3U(); + + /** + * The meta object literal for the '{@link satellite.impl.CubeSat6UImpl Cube Sat6 U}' class. + * + * + * @see satellite.impl.CubeSat6UImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat6U() + * @generated + */ + EClass CUBE_SAT6_U = eINSTANCE.getCubeSat6U(); + + /** + * The meta object literal for the '{@link satellite.impl.SmallSatImpl Small Sat}' class. + * + * + * @see satellite.impl.SmallSatImpl + * @see satellite.impl.SatellitePackageImpl#getSmallSat() + * @generated + */ + EClass SMALL_SAT = eINSTANCE.getSmallSat(); + + /** + * The meta object literal for the '{@link satellite.impl.CubeSatImpl Cube Sat}' class. + * + * + * @see satellite.impl.CubeSatImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat() + * @generated + */ + EClass CUBE_SAT = eINSTANCE.getCubeSat(); + + /** + * The meta object literal for the '{@link satellite.impl.UHFCommSubsystemImpl UHF Comm Subsystem}' class. + * + * + * @see satellite.impl.UHFCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem() + * @generated + */ + EClass UHF_COMM_SUBSYSTEM = eINSTANCE.getUHFCommSubsystem(); + + /** + * The meta object literal for the '{@link satellite.impl.XCommSubsystemImpl XComm Subsystem}' class. + * + * + * @see satellite.impl.XCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem() + * @generated + */ + EClass XCOMM_SUBSYSTEM = eINSTANCE.getXCommSubsystem(); + + /** + * The meta object literal for the '{@link satellite.impl.KaCommSubsystemImpl Ka Comm Subsystem}' class. + * + * + * @see satellite.impl.KaCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem() + * @generated + */ + EClass KA_COMM_SUBSYSTEM = eINSTANCE.getKaCommSubsystem(); + + } + +} //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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Small Sat'. + * + * + * + * @see satellite.SatellitePackage#getSmallSat() + * @model + * @generated + */ +public interface SmallSat extends Spacecraft { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'Spacecraft'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link satellite.Spacecraft#getPayload Payload}
  • + *
+ * + * @see satellite.SatellitePackage#getSpacecraft() + * @model abstract="true" + * @generated + */ +public interface Spacecraft extends CommunicatingElement { + /** + * Returns the value of the 'Payload' containment reference. + * + * + * @return the value of the 'Payload' containment reference. + * @see #setPayload(Payload) + * @see satellite.SatellitePackage#getSpacecraft_Payload() + * @model containment="true" + * @generated + */ + Payload getPayload(); + + /** + * Sets the value of the '{@link satellite.Spacecraft#getPayload Payload}' containment reference. + * + * + * @param value the new value of the 'Payload' containment reference. + * @see #getPayload() + * @generated + */ + void setPayload(Payload value); + +} // 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 @@ +/** + */ +package satellite; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Spacecraft Kind', + * and utility methods for working with them. + * + * @see satellite.SatellitePackage#getSpacecraftKind() + * @model + * @generated + */ +public enum SpacecraftKind implements Enumerator { + /** + * The 'Cube Sat3 U' literal object. + * + * + * @see #CUBE_SAT3_U_VALUE + * @generated + * @ordered + */ + CUBE_SAT3_U(0, "CubeSat3U", "CubeSat3U"), + + /** + * The 'Cube Sat6 U' literal object. + * + * + * @see #CUBE_SAT6_U_VALUE + * @generated + * @ordered + */ + CUBE_SAT6_U(1, "CubeSat6U", "CubeSat6U"), + + /** + * The 'Small Sat' literal object. + * + * + * @see #SMALL_SAT_VALUE + * @generated + * @ordered + */ + SMALL_SAT(2, "SmallSat", "SmallSat"); + + /** + * The 'Cube Sat3 U' literal value. + * + * + * @see #CUBE_SAT3_U + * @model name="CubeSat3U" + * @generated + * @ordered + */ + public static final int CUBE_SAT3_U_VALUE = 0; + + /** + * The 'Cube Sat6 U' literal value. + * + * + * @see #CUBE_SAT6_U + * @model name="CubeSat6U" + * @generated + * @ordered + */ + public static final int CUBE_SAT6_U_VALUE = 1; + + /** + * The 'Small Sat' literal value. + * + * + * @see #SMALL_SAT + * @model name="SmallSat" + * @generated + * @ordered + */ + public static final int SMALL_SAT_VALUE = 2; + + /** + * An array of all the 'Spacecraft Kind' enumerators. + * + * + * @generated + */ + private static final SpacecraftKind[] VALUES_ARRAY = new SpacecraftKind[] { CUBE_SAT3_U, CUBE_SAT6_U, SMALL_SAT, }; + + /** + * A public read-only list of all the 'Spacecraft Kind' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Spacecraft Kind' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static SpacecraftKind get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + SpacecraftKind result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Spacecraft Kind' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static SpacecraftKind getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + SpacecraftKind result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Spacecraft Kind' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static SpacecraftKind get(int value) { + switch (value) { + case CUBE_SAT3_U_VALUE: + return CUBE_SAT3_U; + case CUBE_SAT6_U_VALUE: + return CUBE_SAT6_U; + case SMALL_SAT_VALUE: + return SMALL_SAT; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private SpacecraftKind(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //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 @@ +/** + */ +package satellite; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import org.eclipse.emf.common.util.Enumerator; + +/** + * + * A representation of the literals of the enumeration 'Transceiver Band', + * and utility methods for working with them. + * + * @see satellite.SatellitePackage#getTransceiverBand() + * @model + * @generated + */ +public enum TransceiverBand implements Enumerator { + /** + * The 'UHF' literal object. + * + * + * @see #UHF_VALUE + * @generated + * @ordered + */ + UHF(0, "UHF", "UHF"), + + /** + * The 'X' literal object. + * + * + * @see #X_VALUE + * @generated + * @ordered + */ + X(1, "X", "X"), + + /** + * The 'Ka' literal object. + * + * + * @see #KA_VALUE + * @generated + * @ordered + */ + KA(2, "Ka", "Ka"); + + /** + * The 'UHF' literal value. + * + * + * @see #UHF + * @model + * @generated + * @ordered + */ + public static final int UHF_VALUE = 0; + + /** + * The 'X' literal value. + * + * + * @see #X + * @model + * @generated + * @ordered + */ + public static final int X_VALUE = 1; + + /** + * The 'Ka' literal value. + * + * + * @see #KA + * @model name="Ka" + * @generated + * @ordered + */ + public static final int KA_VALUE = 2; + + /** + * An array of all the 'Transceiver Band' enumerators. + * + * + * @generated + */ + private static final TransceiverBand[] VALUES_ARRAY = new TransceiverBand[] { UHF, X, KA, }; + + /** + * A public read-only list of all the 'Transceiver Band' enumerators. + * + * + * @generated + */ + public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); + + /** + * Returns the 'Transceiver Band' literal with the specified literal value. + * + * + * @param literal the literal. + * @return the matching enumerator or null. + * @generated + */ + public static TransceiverBand get(String literal) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + TransceiverBand result = VALUES_ARRAY[i]; + if (result.toString().equals(literal)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Transceiver Band' literal with the specified name. + * + * + * @param name the name. + * @return the matching enumerator or null. + * @generated + */ + public static TransceiverBand getByName(String name) { + for (int i = 0; i < VALUES_ARRAY.length; ++i) { + TransceiverBand result = VALUES_ARRAY[i]; + if (result.getName().equals(name)) { + return result; + } + } + return null; + } + + /** + * Returns the 'Transceiver Band' literal with the specified integer value. + * + * + * @param value the integer value. + * @return the matching enumerator or null. + * @generated + */ + public static TransceiverBand get(int value) { + switch (value) { + case UHF_VALUE: + return UHF; + case X_VALUE: + return X; + case KA_VALUE: + return KA; + } + return null; + } + + /** + * + * + * @generated + */ + private final int value; + + /** + * + * + * @generated + */ + private final String name; + + /** + * + * + * @generated + */ + private final String literal; + + /** + * Only this class can construct instances. + * + * + * @generated + */ + private TransceiverBand(int value, String name, String literal) { + this.value = value; + this.name = name; + this.literal = literal; + } + + /** + * + * + * @generated + */ + @Override + public int getValue() { + return value; + } + + /** + * + * + * @generated + */ + @Override + public String getName() { + return name; + } + + /** + * + * + * @generated + */ + @Override + public String getLiteral() { + return literal; + } + + /** + * Returns the literal value of the enumerator, which is its string representation. + * + * + * @generated + */ + @Override + public String toString() { + return literal; + } + +} //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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'UHF Comm Subsystem'. + * + * + * + * @see satellite.SatellitePackage#getUHFCommSubsystem() + * @model + * @generated + */ +public interface UHFCommSubsystem extends CommSubsystem { +} // 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 @@ +/** + */ +package satellite; + +/** + * + * A representation of the model object 'XComm Subsystem'. + * + * + * + * @see satellite.SatellitePackage#getXCommSubsystem() + * @model + * @generated + */ +public interface XCommSubsystem extends CommSubsystem { +} // 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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import satellite.CommSubsystem; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Comm Subsystem'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link satellite.impl.CommSubsystemImpl#getTarget Target}
  • + *
+ * + * @generated + */ +public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { + /** + * The cached value of the '{@link #getTarget() Target}' reference. + * + * + * @see #getTarget() + * @generated + * @ordered + */ + protected CommSubsystem target; + + /** + * + * + * @generated + */ + protected CommSubsystemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.COMM_SUBSYSTEM; + } + + /** + * + * + * @generated + */ + @Override + public CommSubsystem getTarget() { + if (target != null && target.eIsProxy()) { + InternalEObject oldTarget = (InternalEObject) target; + target = (CommSubsystem) eResolveProxy(oldTarget); + if (target != oldTarget) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, SatellitePackage.COMM_SUBSYSTEM__TARGET, + oldTarget, target)); + } + } + return target; + } + + /** + * + * + * @generated + */ + public CommSubsystem basicGetTarget() { + return target; + } + + /** + * + * + * @generated + */ + @Override + public void setTarget(CommSubsystem newTarget) { + CommSubsystem oldTarget = target; + target = newTarget; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__TARGET, oldTarget, + target)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + if (resolve) + return getTarget(); + return basicGetTarget(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + setTarget((CommSubsystem) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + setTarget((CommSubsystem) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SatellitePackage.COMM_SUBSYSTEM__TARGET: + return target != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package satellite.impl; + +import java.util.Collection; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import satellite.CommSubsystem; +import satellite.CommunicatingElement; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Communicating Element'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link satellite.impl.CommunicatingElementImpl#getCommSubsystem Comm Subsystem}
  • + *
+ * + * @generated + */ +public abstract class CommunicatingElementImpl extends MinimalEObjectImpl.Container implements CommunicatingElement { + /** + * The cached value of the '{@link #getCommSubsystem() Comm Subsystem}' containment reference list. + * + * + * @see #getCommSubsystem() + * @generated + * @ordered + */ + protected EList commSubsystem; + + /** + * + * + * @generated + */ + protected CommunicatingElementImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.COMMUNICATING_ELEMENT; + } + + /** + * + * + * @generated + */ + @Override + public EList getCommSubsystem() { + if (commSubsystem == null) { + commSubsystem = new EObjectContainmentEList(CommSubsystem.class, this, + SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM); + } + return commSubsystem; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: + return ((InternalEList) getCommSubsystem()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: + return getCommSubsystem(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: + getCommSubsystem().clear(); + getCommSubsystem().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: + getCommSubsystem().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: + return commSubsystem != null && !commSubsystem.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package satellite.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import satellite.ConstellationMission; +import satellite.GroundStationNetwork; +import satellite.SatellitePackage; +import satellite.Spacecraft; + +/** + * + * An implementation of the model object 'Constellation Mission'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link satellite.impl.ConstellationMissionImpl#getGroundStationNetwork Ground Station Network}
  • + *
  • {@link satellite.impl.ConstellationMissionImpl#getSpacecraft Spacecraft}
  • + *
+ * + * @generated + */ +public abstract class ConstellationMissionImpl extends MinimalEObjectImpl.Container implements ConstellationMission { + /** + * The cached value of the '{@link #getGroundStationNetwork() Ground Station Network}' containment reference. + * + * + * @see #getGroundStationNetwork() + * @generated + * @ordered + */ + protected GroundStationNetwork groundStationNetwork; + + /** + * The cached value of the '{@link #getSpacecraft() Spacecraft}' containment reference list. + * + * + * @see #getSpacecraft() + * @generated + * @ordered + */ + protected EList spacecraft; + + /** + * + * + * @generated + */ + protected ConstellationMissionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.CONSTELLATION_MISSION; + } + + /** + * + * + * @generated + */ + @Override + public GroundStationNetwork getGroundStationNetwork() { + return groundStationNetwork; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetGroundStationNetwork(GroundStationNetwork newGroundStationNetwork, + NotificationChain msgs) { + GroundStationNetwork oldGroundStationNetwork = groundStationNetwork; + groundStationNetwork = newGroundStationNetwork; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, oldGroundStationNetwork, + newGroundStationNetwork); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setGroundStationNetwork(GroundStationNetwork newGroundStationNetwork) { + if (newGroundStationNetwork != groundStationNetwork) { + NotificationChain msgs = null; + if (groundStationNetwork != null) + msgs = ((InternalEObject) groundStationNetwork).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null, + msgs); + if (newGroundStationNetwork != null) + msgs = ((InternalEObject) newGroundStationNetwork).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, null, + msgs); + msgs = basicSetGroundStationNetwork(newGroundStationNetwork, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, + SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK, newGroundStationNetwork, + newGroundStationNetwork)); + } + + /** + * + * + * @generated + */ + @Override + public EList getSpacecraft() { + if (spacecraft == null) { + spacecraft = new EObjectContainmentEList(Spacecraft.class, this, + SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT); + } + return spacecraft; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK: + return basicSetGroundStationNetwork(null, msgs); + case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT: + return ((InternalEList) getSpacecraft()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK: + return getGroundStationNetwork(); + case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT: + return getSpacecraft(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK: + setGroundStationNetwork((GroundStationNetwork) newValue); + return; + case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT: + getSpacecraft().clear(); + getSpacecraft().addAll((Collection) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK: + setGroundStationNetwork((GroundStationNetwork) null); + return; + case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT: + getSpacecraft().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SatellitePackage.CONSTELLATION_MISSION__GROUND_STATION_NETWORK: + return groundStationNetwork != null; + case SatellitePackage.CONSTELLATION_MISSION__SPACECRAFT: + return spacecraft != null && !spacecraft.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.CubeSat3U; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Cube Sat3 U'. + * + * + * @generated + */ +public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U { + /** + * + * + * @generated + */ + protected CubeSat3UImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.CUBE_SAT3_U; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.CubeSat6U; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Cube Sat6 U'. + * + * + * @generated + */ +public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U { + /** + * + * + * @generated + */ + protected CubeSat6UImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.CUBE_SAT6_U; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.CubeSat; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Cube Sat'. + * + * + * @generated + */ +public abstract class CubeSatImpl extends SpacecraftImpl implements CubeSat { + /** + * + * + * @generated + */ + protected CubeSatImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.CUBE_SAT; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.GroundStationNetwork; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Ground Station Network'. + * + * + * @generated + */ +public class GroundStationNetworkImpl extends CommunicatingElementImpl implements GroundStationNetwork { + /** + * + * + * @generated + */ + protected GroundStationNetworkImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.GROUND_STATION_NETWORK; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; +import satellite.InterferometryMission; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Interferometry Mission'. + * + * + * @generated + */ +public class InterferometryMissionImpl extends ConstellationMissionImpl implements InterferometryMission { + /** + * + * + * @generated + */ + protected InterferometryMissionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.INTERFEROMETRY_MISSION; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.InterferometryPayload; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Interferometry Payload'. + * + * + * @generated + */ +public class InterferometryPayloadImpl extends PayloadImpl implements InterferometryPayload { + /** + * + * + * @generated + */ + protected InterferometryPayloadImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.INTERFEROMETRY_PAYLOAD; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.KaCommSubsystem; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Ka Comm Subsystem'. + * + * + * @generated + */ +public class KaCommSubsystemImpl extends CommSubsystemImpl implements KaCommSubsystem { + /** + * + * + * @generated + */ + protected KaCommSubsystemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.KA_COMM_SUBSYSTEM; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import satellite.Payload; +import satellite.SatellitePackage; + +/** + * + * An implementation of the model object 'Payload'. + * + * + * @generated + */ +public abstract class PayloadImpl extends MinimalEObjectImpl.Container implements Payload { + /** + * + * + * @generated + */ + protected PayloadImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.PAYLOAD; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import satellite.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static SatelliteFactory init() { + try { + SatelliteFactory theSatelliteFactory = (SatelliteFactory) EPackage.Registry.INSTANCE + .getEFactory(SatellitePackage.eNS_URI); + if (theSatelliteFactory != null) { + return theSatelliteFactory; + } + } catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new SatelliteFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public SatelliteFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case SatellitePackage.INTERFEROMETRY_MISSION: + return createInterferometryMission(); + case SatellitePackage.GROUND_STATION_NETWORK: + return createGroundStationNetwork(); + case SatellitePackage.INTERFEROMETRY_PAYLOAD: + return createInterferometryPayload(); + case SatellitePackage.CUBE_SAT3_U: + return createCubeSat3U(); + case SatellitePackage.CUBE_SAT6_U: + return createCubeSat6U(); + case SatellitePackage.SMALL_SAT: + return createSmallSat(); + case SatellitePackage.UHF_COMM_SUBSYSTEM: + return createUHFCommSubsystem(); + case SatellitePackage.XCOMM_SUBSYSTEM: + return createXCommSubsystem(); + case SatellitePackage.KA_COMM_SUBSYSTEM: + return createKaCommSubsystem(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + @Override + public InterferometryMission createInterferometryMission() { + InterferometryMissionImpl interferometryMission = new InterferometryMissionImpl(); + return interferometryMission; + } + + /** + * + * + * @generated + */ + @Override + public GroundStationNetwork createGroundStationNetwork() { + GroundStationNetworkImpl groundStationNetwork = new GroundStationNetworkImpl(); + return groundStationNetwork; + } + + /** + * + * + * @generated + */ + @Override + public InterferometryPayload createInterferometryPayload() { + InterferometryPayloadImpl interferometryPayload = new InterferometryPayloadImpl(); + return interferometryPayload; + } + + /** + * + * + * @generated + */ + @Override + public CubeSat3U createCubeSat3U() { + CubeSat3UImpl cubeSat3U = new CubeSat3UImpl(); + return cubeSat3U; + } + + /** + * + * + * @generated + */ + @Override + public CubeSat6U createCubeSat6U() { + CubeSat6UImpl cubeSat6U = new CubeSat6UImpl(); + return cubeSat6U; + } + + /** + * + * + * @generated + */ + @Override + public SmallSat createSmallSat() { + SmallSatImpl smallSat = new SmallSatImpl(); + return smallSat; + } + + /** + * + * + * @generated + */ + @Override + public UHFCommSubsystem createUHFCommSubsystem() { + UHFCommSubsystemImpl uhfCommSubsystem = new UHFCommSubsystemImpl(); + return uhfCommSubsystem; + } + + /** + * + * + * @generated + */ + @Override + public XCommSubsystem createXCommSubsystem() { + XCommSubsystemImpl xCommSubsystem = new XCommSubsystemImpl(); + return xCommSubsystem; + } + + /** + * + * + * @generated + */ + @Override + public KaCommSubsystem createKaCommSubsystem() { + KaCommSubsystemImpl kaCommSubsystem = new KaCommSubsystemImpl(); + return kaCommSubsystem; + } + + /** + * + * + * @generated + */ + @Override + public SatellitePackage getSatellitePackage() { + return (SatellitePackage) getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static SatellitePackage getPackage() { + return SatellitePackage.eINSTANCE; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; +import satellite.CommSubsystem; +import satellite.CommunicatingElement; +import satellite.ConstellationMission; +import satellite.CubeSat; +import satellite.CubeSat3U; +import satellite.CubeSat6U; +import satellite.GroundStationNetwork; +import satellite.InterferometryMission; +import satellite.InterferometryPayload; +import satellite.KaCommSubsystem; +import satellite.Payload; +import satellite.SatelliteFactory; +import satellite.SatellitePackage; +import satellite.SmallSat; +import satellite.Spacecraft; +import satellite.UHFCommSubsystem; +import satellite.XCommSubsystem; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class SatellitePackageImpl extends EPackageImpl implements SatellitePackage { + /** + * + * + * @generated + */ + private EClass constellationMissionEClass = null; + + /** + * + * + * @generated + */ + private EClass interferometryMissionEClass = null; + + /** + * + * + * @generated + */ + private EClass communicatingElementEClass = null; + + /** + * + * + * @generated + */ + private EClass groundStationNetworkEClass = null; + + /** + * + * + * @generated + */ + private EClass spacecraftEClass = null; + + /** + * + * + * @generated + */ + private EClass commSubsystemEClass = null; + + /** + * + * + * @generated + */ + private EClass payloadEClass = null; + + /** + * + * + * @generated + */ + private EClass interferometryPayloadEClass = null; + + /** + * + * + * @generated + */ + private EClass cubeSat3UEClass = null; + + /** + * + * + * @generated + */ + private EClass cubeSat6UEClass = null; + + /** + * + * + * @generated + */ + private EClass smallSatEClass = null; + + /** + * + * + * @generated + */ + private EClass cubeSatEClass = null; + + /** + * + * + * @generated + */ + private EClass uhfCommSubsystemEClass = null; + + /** + * + * + * @generated + */ + private EClass xCommSubsystemEClass = null; + + /** + * + * + * @generated + */ + private EClass kaCommSubsystemEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see satellite.SatellitePackage#eNS_URI + * @see #init() + * @generated + */ + private SatellitePackageImpl() { + super(eNS_URI, SatelliteFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link SatellitePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static SatellitePackage init() { + if (isInited) + return (SatellitePackage) EPackage.Registry.INSTANCE.getEPackage(SatellitePackage.eNS_URI); + + // Obtain or create and register package + Object registeredSatellitePackage = EPackage.Registry.INSTANCE.get(eNS_URI); + SatellitePackageImpl theSatellitePackage = registeredSatellitePackage instanceof SatellitePackageImpl + ? (SatellitePackageImpl) registeredSatellitePackage + : new SatellitePackageImpl(); + + isInited = true; + + // Create package meta-data objects + theSatellitePackage.createPackageContents(); + + // Initialize created meta-data + theSatellitePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theSatellitePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, theSatellitePackage); + return theSatellitePackage; + } + + /** + * + * + * @generated + */ + @Override + public EClass getConstellationMission() { + return constellationMissionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getConstellationMission_GroundStationNetwork() { + return (EReference) constellationMissionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EReference getConstellationMission_Spacecraft() { + return (EReference) constellationMissionEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterferometryMission() { + return interferometryMissionEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getCommunicatingElement() { + return communicatingElementEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCommunicatingElement_CommSubsystem() { + return (EReference) communicatingElementEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getGroundStationNetwork() { + return groundStationNetworkEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getSpacecraft() { + return spacecraftEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getSpacecraft_Payload() { + return (EReference) spacecraftEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getCommSubsystem() { + return commSubsystemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EReference getCommSubsystem_Target() { + return (EReference) commSubsystemEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + @Override + public EClass getPayload() { + return payloadEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getInterferometryPayload() { + return interferometryPayloadEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getCubeSat3U() { + return cubeSat3UEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getCubeSat6U() { + return cubeSat6UEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getSmallSat() { + return smallSatEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getCubeSat() { + return cubeSatEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getUHFCommSubsystem() { + return uhfCommSubsystemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getXCommSubsystem() { + return xCommSubsystemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getKaCommSubsystem() { + return kaCommSubsystemEClass; + } + + /** + * + * + * @generated + */ + @Override + public SatelliteFactory getSatelliteFactory() { + return (SatelliteFactory) getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) + return; + isCreated = true; + + // Create classes and their features + constellationMissionEClass = createEClass(CONSTELLATION_MISSION); + createEReference(constellationMissionEClass, CONSTELLATION_MISSION__GROUND_STATION_NETWORK); + createEReference(constellationMissionEClass, CONSTELLATION_MISSION__SPACECRAFT); + + interferometryMissionEClass = createEClass(INTERFEROMETRY_MISSION); + + communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT); + createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM); + + groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK); + + spacecraftEClass = createEClass(SPACECRAFT); + createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD); + + commSubsystemEClass = createEClass(COMM_SUBSYSTEM); + createEReference(commSubsystemEClass, COMM_SUBSYSTEM__TARGET); + + payloadEClass = createEClass(PAYLOAD); + + interferometryPayloadEClass = createEClass(INTERFEROMETRY_PAYLOAD); + + cubeSat3UEClass = createEClass(CUBE_SAT3_U); + + cubeSat6UEClass = createEClass(CUBE_SAT6_U); + + smallSatEClass = createEClass(SMALL_SAT); + + cubeSatEClass = createEClass(CUBE_SAT); + + uhfCommSubsystemEClass = createEClass(UHF_COMM_SUBSYSTEM); + + xCommSubsystemEClass = createEClass(XCOMM_SUBSYSTEM); + + kaCommSubsystemEClass = createEClass(KA_COMM_SUBSYSTEM); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) + return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + interferometryMissionEClass.getESuperTypes().add(this.getConstellationMission()); + groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement()); + spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement()); + interferometryPayloadEClass.getESuperTypes().add(this.getPayload()); + cubeSat3UEClass.getESuperTypes().add(this.getCubeSat()); + cubeSat6UEClass.getESuperTypes().add(this.getCubeSat()); + smallSatEClass.getESuperTypes().add(this.getSpacecraft()); + cubeSatEClass.getESuperTypes().add(this.getSpacecraft()); + uhfCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem()); + xCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem()); + kaCommSubsystemEClass.getESuperTypes().add(this.getCommSubsystem()); + + // Initialize classes, features, and operations; add parameters + initEClass(constellationMissionEClass, ConstellationMission.class, "ConstellationMission", IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getConstellationMission_GroundStationNetwork(), this.getGroundStationNetwork(), null, + "groundStationNetwork", null, 1, 1, ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE, + IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConstellationMission_Spacecraft(), this.getSpacecraft(), null, "spacecraft", null, 2, -1, + ConstellationMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(interferometryMissionEClass, InterferometryMission.class, "InterferometryMission", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(communicatingElementEClass, CommunicatingElement.class, "CommunicatingElement", IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getCommunicatingElement_CommSubsystem(), this.getCommSubsystem(), null, "commSubsystem", null, 1, + 2, CommunicatingElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, + !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(groundStationNetworkEClass, GroundStationNetwork.class, "GroundStationNetwork", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(spacecraftEClass, Spacecraft.class, "Spacecraft", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getSpacecraft_Payload(), this.getPayload(), null, "payload", null, 0, 1, Spacecraft.class, + !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, + IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + initEReference(getCommSubsystem_Target(), this.getCommSubsystem(), null, "target", null, 0, 1, + CommSubsystem.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, + !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(payloadEClass, Payload.class, "Payload", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(interferometryPayloadEClass, InterferometryPayload.class, "InterferometryPayload", !IS_ABSTRACT, + !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(cubeSat3UEClass, CubeSat3U.class, "CubeSat3U", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(cubeSat6UEClass, CubeSat6U.class, "CubeSat6U", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(uhfCommSubsystemEClass, UHFCommSubsystem.class, "UHFCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(xCommSubsystemEClass, XCommSubsystem.class, "XCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + initEClass(kaCommSubsystemEClass, KaCommSubsystem.class, "KaCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); + + // Create resource + createResource(eNS_URI); + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.SatellitePackage; +import satellite.SmallSat; + +/** + * + * An implementation of the model object 'Small Sat'. + * + * + * @generated + */ +public class SmallSatImpl extends SpacecraftImpl implements SmallSat { + /** + * + * + * @generated + */ + protected SmallSatImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.SMALL_SAT; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import satellite.Payload; +import satellite.SatellitePackage; +import satellite.Spacecraft; + +/** + * + * An implementation of the model object 'Spacecraft'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link satellite.impl.SpacecraftImpl#getPayload Payload}
  • + *
+ * + * @generated + */ +public abstract class SpacecraftImpl extends CommunicatingElementImpl implements Spacecraft { + /** + * The cached value of the '{@link #getPayload() Payload}' containment reference. + * + * + * @see #getPayload() + * @generated + * @ordered + */ + protected Payload payload; + + /** + * + * + * @generated + */ + protected SpacecraftImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.SPACECRAFT; + } + + /** + * + * + * @generated + */ + @Override + public Payload getPayload() { + return payload; + } + + /** + * + * + * @generated + */ + public NotificationChain basicSetPayload(Payload newPayload, NotificationChain msgs) { + Payload oldPayload = payload; + payload = newPayload; + if (eNotificationRequired()) { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, + SatellitePackage.SPACECRAFT__PAYLOAD, oldPayload, newPayload); + if (msgs == null) + msgs = notification; + else + msgs.add(notification); + } + return msgs; + } + + /** + * + * + * @generated + */ + @Override + public void setPayload(Payload newPayload) { + if (newPayload != payload) { + NotificationChain msgs = null; + if (payload != null) + msgs = ((InternalEObject) payload).eInverseRemove(this, + EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs); + if (newPayload != null) + msgs = ((InternalEObject) newPayload).eInverseAdd(this, + EOPPOSITE_FEATURE_BASE - SatellitePackage.SPACECRAFT__PAYLOAD, null, msgs); + msgs = basicSetPayload(newPayload, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.SPACECRAFT__PAYLOAD, newPayload, + newPayload)); + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case SatellitePackage.SPACECRAFT__PAYLOAD: + return basicSetPayload(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case SatellitePackage.SPACECRAFT__PAYLOAD: + return getPayload(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case SatellitePackage.SPACECRAFT__PAYLOAD: + setPayload((Payload) newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case SatellitePackage.SPACECRAFT__PAYLOAD: + setPayload((Payload) null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case SatellitePackage.SPACECRAFT__PAYLOAD: + return payload != null; + } + return super.eIsSet(featureID); + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.SatellitePackage; +import satellite.UHFCommSubsystem; + +/** + * + * An implementation of the model object 'UHF Comm Subsystem'. + * + * + * @generated + */ +public class UHFCommSubsystemImpl extends CommSubsystemImpl implements UHFCommSubsystem { + /** + * + * + * @generated + */ + protected UHFCommSubsystemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.UHF_COMM_SUBSYSTEM; + } + +} //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 @@ +/** + */ +package satellite.impl; + +import org.eclipse.emf.ecore.EClass; + +import satellite.SatellitePackage; +import satellite.XCommSubsystem; + +/** + * + * An implementation of the model object 'XComm Subsystem'. + * + * + * @generated + */ +public class XCommSubsystemImpl extends CommSubsystemImpl implements XCommSubsystem { + /** + * + * + * @generated + */ + protected XCommSubsystemImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return SatellitePackage.Literals.XCOMM_SUBSYSTEM; + } + +} //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 @@ +/** + */ +package satellite.util; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +import satellite.*; + +/** + * + * The Adapter Factory for the model. + * It provides an adapter createXXX method for each class of the model. + * + * @see satellite.SatellitePackage + * @generated + */ +public class SatelliteAdapterFactory extends AdapterFactoryImpl { + /** + * The cached model package. + * + * + * @generated + */ + protected static SatellitePackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * + * + * @generated + */ + public SatelliteAdapterFactory() { + if (modelPackage == null) { + modelPackage = SatellitePackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * + * This implementation returns true if the object is either the model's package or is an instance object of the model. + * + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) { + if (object == modelPackage) { + return true; + } + if (object instanceof EObject) { + return ((EObject) object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the createXXX methods. + * + * + * @generated + */ + protected SatelliteSwitch modelSwitch = new SatelliteSwitch() { + @Override + public Adapter caseConstellationMission(ConstellationMission object) { + return createConstellationMissionAdapter(); + } + + @Override + public Adapter caseInterferometryMission(InterferometryMission object) { + return createInterferometryMissionAdapter(); + } + + @Override + public Adapter caseCommunicatingElement(CommunicatingElement object) { + return createCommunicatingElementAdapter(); + } + + @Override + public Adapter caseGroundStationNetwork(GroundStationNetwork object) { + return createGroundStationNetworkAdapter(); + } + + @Override + public Adapter caseSpacecraft(Spacecraft object) { + return createSpacecraftAdapter(); + } + + @Override + public Adapter caseCommSubsystem(CommSubsystem object) { + return createCommSubsystemAdapter(); + } + + @Override + public Adapter casePayload(Payload object) { + return createPayloadAdapter(); + } + + @Override + public Adapter caseInterferometryPayload(InterferometryPayload object) { + return createInterferometryPayloadAdapter(); + } + + @Override + public Adapter caseCubeSat3U(CubeSat3U object) { + return createCubeSat3UAdapter(); + } + + @Override + public Adapter caseCubeSat6U(CubeSat6U object) { + return createCubeSat6UAdapter(); + } + + @Override + public Adapter caseSmallSat(SmallSat object) { + return createSmallSatAdapter(); + } + + @Override + public Adapter caseCubeSat(CubeSat object) { + return createCubeSatAdapter(); + } + + @Override + public Adapter caseUHFCommSubsystem(UHFCommSubsystem object) { + return createUHFCommSubsystemAdapter(); + } + + @Override + public Adapter caseXCommSubsystem(XCommSubsystem object) { + return createXCommSubsystemAdapter(); + } + + @Override + public Adapter caseKaCommSubsystem(KaCommSubsystem object) { + return createKaCommSubsystemAdapter(); + } + + @Override + public Adapter defaultCase(EObject object) { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the target. + * + * + * @param target the object to adapt. + * @return the adapter for the target. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) { + return modelSwitch.doSwitch((EObject) target); + } + + /** + * Creates a new adapter for an object of class '{@link satellite.ConstellationMission Constellation Mission}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.ConstellationMission + * @generated + */ + public Adapter createConstellationMissionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.InterferometryMission Interferometry Mission}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.InterferometryMission + * @generated + */ + public Adapter createInterferometryMissionAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.CommunicatingElement Communicating Element}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.CommunicatingElement + * @generated + */ + public Adapter createCommunicatingElementAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.GroundStationNetwork Ground Station Network}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.GroundStationNetwork + * @generated + */ + public Adapter createGroundStationNetworkAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.Spacecraft Spacecraft}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.Spacecraft + * @generated + */ + public Adapter createSpacecraftAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.CommSubsystem Comm Subsystem}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.CommSubsystem + * @generated + */ + public Adapter createCommSubsystemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.Payload Payload}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.Payload + * @generated + */ + public Adapter createPayloadAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.InterferometryPayload Interferometry Payload}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.InterferometryPayload + * @generated + */ + public Adapter createInterferometryPayloadAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.CubeSat3U Cube Sat3 U}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.CubeSat3U + * @generated + */ + public Adapter createCubeSat3UAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.CubeSat6U Cube Sat6 U}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.CubeSat6U + * @generated + */ + public Adapter createCubeSat6UAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.SmallSat Small Sat}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.SmallSat + * @generated + */ + public Adapter createSmallSatAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.CubeSat Cube Sat}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.CubeSat + * @generated + */ + public Adapter createCubeSatAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.UHFCommSubsystem UHF Comm Subsystem}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.UHFCommSubsystem + * @generated + */ + public Adapter createUHFCommSubsystemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.XCommSubsystem XComm Subsystem}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.XCommSubsystem + * @generated + */ + public Adapter createXCommSubsystemAdapter() { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link satellite.KaCommSubsystem Ka Comm Subsystem}'. + * + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * + * @return the new adapter. + * @see satellite.KaCommSubsystem + * @generated + */ + public Adapter createKaCommSubsystemAdapter() { + return null; + } + + /** + * Creates a new adapter for the default case. + * + * This default implementation returns null. + * + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() { + return null; + } + +} //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 @@ +/** + */ +package satellite.util; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +import satellite.*; + +/** + * + * The Switch for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the caseXXX method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * + * @see satellite.SatellitePackage + * @generated + */ +public class SatelliteSwitch extends Switch { + /** + * The cached model package + * + * + * @generated + */ + protected static SatellitePackage modelPackage; + + /** + * Creates an instance of the switch. + * + * + * @generated + */ + public SatelliteSwitch() { + if (modelPackage == null) { + modelPackage = SatellitePackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * + * + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) { + return ePackage == modelPackage; + } + + /** + * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. + * + * + * @return the first non-null result returned by a caseXXX call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) { + switch (classifierID) { + case SatellitePackage.CONSTELLATION_MISSION: { + ConstellationMission constellationMission = (ConstellationMission) theEObject; + T result = caseConstellationMission(constellationMission); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.INTERFEROMETRY_MISSION: { + InterferometryMission interferometryMission = (InterferometryMission) theEObject; + T result = caseInterferometryMission(interferometryMission); + if (result == null) + result = caseConstellationMission(interferometryMission); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.COMMUNICATING_ELEMENT: { + CommunicatingElement communicatingElement = (CommunicatingElement) theEObject; + T result = caseCommunicatingElement(communicatingElement); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.GROUND_STATION_NETWORK: { + GroundStationNetwork groundStationNetwork = (GroundStationNetwork) theEObject; + T result = caseGroundStationNetwork(groundStationNetwork); + if (result == null) + result = caseCommunicatingElement(groundStationNetwork); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.SPACECRAFT: { + Spacecraft spacecraft = (Spacecraft) theEObject; + T result = caseSpacecraft(spacecraft); + if (result == null) + result = caseCommunicatingElement(spacecraft); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.COMM_SUBSYSTEM: { + CommSubsystem commSubsystem = (CommSubsystem) theEObject; + T result = caseCommSubsystem(commSubsystem); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.PAYLOAD: { + Payload payload = (Payload) theEObject; + T result = casePayload(payload); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.INTERFEROMETRY_PAYLOAD: { + InterferometryPayload interferometryPayload = (InterferometryPayload) theEObject; + T result = caseInterferometryPayload(interferometryPayload); + if (result == null) + result = casePayload(interferometryPayload); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.CUBE_SAT3_U: { + CubeSat3U cubeSat3U = (CubeSat3U) theEObject; + T result = caseCubeSat3U(cubeSat3U); + if (result == null) + result = caseCubeSat(cubeSat3U); + if (result == null) + result = caseSpacecraft(cubeSat3U); + if (result == null) + result = caseCommunicatingElement(cubeSat3U); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.CUBE_SAT6_U: { + CubeSat6U cubeSat6U = (CubeSat6U) theEObject; + T result = caseCubeSat6U(cubeSat6U); + if (result == null) + result = caseCubeSat(cubeSat6U); + if (result == null) + result = caseSpacecraft(cubeSat6U); + if (result == null) + result = caseCommunicatingElement(cubeSat6U); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.SMALL_SAT: { + SmallSat smallSat = (SmallSat) theEObject; + T result = caseSmallSat(smallSat); + if (result == null) + result = caseSpacecraft(smallSat); + if (result == null) + result = caseCommunicatingElement(smallSat); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.CUBE_SAT: { + CubeSat cubeSat = (CubeSat) theEObject; + T result = caseCubeSat(cubeSat); + if (result == null) + result = caseSpacecraft(cubeSat); + if (result == null) + result = caseCommunicatingElement(cubeSat); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.UHF_COMM_SUBSYSTEM: { + UHFCommSubsystem uhfCommSubsystem = (UHFCommSubsystem) theEObject; + T result = caseUHFCommSubsystem(uhfCommSubsystem); + if (result == null) + result = caseCommSubsystem(uhfCommSubsystem); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.XCOMM_SUBSYSTEM: { + XCommSubsystem xCommSubsystem = (XCommSubsystem) theEObject; + T result = caseXCommSubsystem(xCommSubsystem); + if (result == null) + result = caseCommSubsystem(xCommSubsystem); + if (result == null) + result = defaultCase(theEObject); + return result; + } + case SatellitePackage.KA_COMM_SUBSYSTEM: { + KaCommSubsystem kaCommSubsystem = (KaCommSubsystem) theEObject; + T result = caseKaCommSubsystem(kaCommSubsystem); + if (result == null) + result = caseCommSubsystem(kaCommSubsystem); + if (result == null) + result = defaultCase(theEObject); + return result; + } + default: + return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of 'Constellation Mission'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Constellation Mission'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConstellationMission(ConstellationMission object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Interferometry Mission'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Interferometry Mission'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInterferometryMission(InterferometryMission object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Communicating Element'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Communicating Element'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCommunicatingElement(CommunicatingElement object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Ground Station Network'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Ground Station Network'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGroundStationNetwork(GroundStationNetwork object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Spacecraft'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Spacecraft'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSpacecraft(Spacecraft object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Comm Subsystem'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Comm Subsystem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCommSubsystem(CommSubsystem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Payload'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Payload'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T casePayload(Payload object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Interferometry Payload'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Interferometry Payload'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseInterferometryPayload(InterferometryPayload object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Cube Sat3 U'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Cube Sat3 U'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCubeSat3U(CubeSat3U object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Cube Sat6 U'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Cube Sat6 U'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCubeSat6U(CubeSat6U object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Small Sat'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Small Sat'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseSmallSat(SmallSat object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Cube Sat'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Cube Sat'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCubeSat(CubeSat object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'UHF Comm Subsystem'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'UHF Comm Subsystem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUHFCommSubsystem(UHFCommSubsystem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'XComm Subsystem'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'XComm Subsystem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseXCommSubsystem(XCommSubsystem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'Ka Comm Subsystem'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'Ka Comm Subsystem'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseKaCommSubsystem(KaCommSubsystem object) { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of 'EObject'. + * + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of 'EObject'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) { + return null; + } + +} //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 @@ + + 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 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ + + + satellite.ecore + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 @@ +# + +pluginName = hu.bme.mit.inf.dslreasoner.domains.satellite +providerName = 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 @@ + + + + + + + + + + + + + + + + + + + + + + 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 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.queries + +import "http://www.example.org/satellite" + +@Constraint(severity = "error", key = {Element}, + message = "A communicating element may not have two transmitting communication subsystems.") +pattern communicationLinkDoesNotStartAtContainingElement(Element : CommunicatingElement) { + find transmittingCommSubsystem(Element, Comm1); + find transmittingCommSubsystem(Element, Comm2); + Comm1 != Comm2; +} + +private pattern transmittingCommSubsystem(Element : CommunicatingElement, Comm : CommSubsystem) { + CommunicatingElement.commSubsystem(Element, Comm); + CommSubsystem.target(Comm, _); +} + +@Constraint(severity = "error", key = {Station}, + message = "The ground station network may not have outgoing communication links.") +pattern transmittingGroundStationNetwork(Station : GroundStationNetwork) { + find transmittingCommSubsystem(Station, _); +} + +@Constraint(severity = "error", key = {Station}, + message = "The ground station network may not have UHF communication subsystems.") +pattern roundStationNetworkUHF(Station : GroundStationNetwork) { + CommunicatingElement.commSubsystem(Station, Comm); + UHFCommSubsystem(Comm); +} + +// At least two spacecraft must have the interferometry payload configured + +@Constraint(severity = "error", key = {Mission}, + message = "Interferometry mission needs at least two spacecraft configured with the interferometry payload.") +pattern notEnoughInterferometryPayloads(Mission : InterferometryMission) { + InterferometryMission(Mission); + neg find atLeastTwoInterferometryPayloads(Mission); +} + +private pattern atLeastTwoInterferometryPayloads(Mission : InterferometryMission) { + find spacecraftWithInterferometryPayload(Mission, Spacecraft1); + find spacecraftWithInterferometryPayload(Mission, Spacecraft2); + Spacecraft1 != Spacecraft2; +} + +private pattern spacecraftWithInterferometryPayload(Mission : ConstellationMission, Spacecraft : Spacecraft) { + ConstellationMission.spacecraft(Mission, Spacecraft); + Spacecraft.payload(Spacecraft, Payload); + InterferometryPayload(Payload); +} + +// All spacecraft must have some communication path to the ground station + +@Constraint(severity = "error", key = {Spacecraft}, + message = "Spacecraft has no communication path to the ground station.") +pattern noLinkToGroundStation(Spacecraft : Spacecraft) { + ConstellationMission.groundStationNetwork(Mission, GroundStation); + ConstellationMission.spacecraft(Mission, Spacecraft); + neg find indirectCommunicationLink(Spacecraft, GroundStation); +} + +//@Constraint(severity = "error", key = {Spacecraft}, message = "UNSAT") +//pattern unsat_linkToGroundStation(Spacecraft : Spacecraft) { +// ConstellationMission.groundStationNetwork(Mission, GroundStation); +// ConstellationMission.spacecraft(Mission, Spacecraft); +// find indirectCommunicationLink(Spacecraft, GroundStation); +//} + +@Constraint(severity = "error", key = {Mission}, message = "UNSAT") +pattern unsat_linkToGroundStation(Mission : InterferometryMission) { + InterferometryMission(Mission); + neg find noLinkToGroundStation(_); +} + +@Constraint(severity = "error", key = {Spacecraft}, + message = "Spacecraft has no potential communication path to the ground station.") +pattern noPotentialLinkToGroundStation(Spacecraft : Spacecraft) { + ConstellationMission.groundStationNetwork(Mission, GroundStation); + ConstellationMission.spacecraft(Mission, Spacecraft); + neg find indirectLinkAllowed(Spacecraft, GroundStation); +} + +private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement) { + find linkAllowed+(From, To); +} + +private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { + find matchingAntenna(From, To); + neg find cubeSat3U(From); +} or { + find matchingAntenna(From, To); + CubeSat3U(From); +} or { + find matchingAntenna(From, To); + CubeSat3U(From); + GroundStationNetwork(To); +} + +private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) { + CommunicatingElement.commSubsystem(From, FromSys); + CommunicatingElement.commSubsystem(To, ToSys); + find matchingCommSubsystem(FromSys, ToSys); +} + +private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) { + UHFCommSubsystem(From); + UHFCommSubsystem(To); +} or { + XCommSubsystem(From); + XCommSubsystem(To); +} or { + KaCommSubsystem(From); + KaCommSubsystem(To); +} + +private pattern cubeSat3U(Sat : CubeSat3U) { + CubeSat3U(Sat); +} + +// No communication loops may exist +// No spacecraft may directly communicate with itself + +@Constraint(severity = "error", key = {Element}, + message = "Communication loop.") +pattern communicationLoop(Element : CommunicatingElement) { + find indirectCommunicationLink(Element, Element); +} + +private pattern indirectCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { + find directCommunicationLink+(Source, Target); +} + +private pattern directCommunicationLink(Source : CommunicatingElement, Target : CommunicatingElement) { + CommSubsystem.target(SourceSubsystem, TargetSubsystem); + CommunicatingElement.commSubsystem(Source, SourceSubsystem); + CommunicatingElement.commSubsystem(Target, TargetSubsystem); +} + +// Source and target communication systems must be compatible. + +@Constraint(severity = "error", key = {SourceSubsystem}, + message = "Two ends of a communication link must use the same band.") +pattern incompatibleSourceAndTargetBand(SourceSubsystem : CommSubsystem) { + CommSubsystem.target(SourceSubsystem, TargetSubsystem); + neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); +} + +// 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter, +// but cross-link using UHF + +@Constraint(severity = "error", key = {Sat}, + message = "3U CubeSats can only cross-link using UHF.") +pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { + CommunicatingElement.commSubsystem(Sat, SourceComm); + neg find commSubsystemBandUhf(SourceComm); + CommSubsystem.target(SourceComm, TargetComm); + CommunicatingElement.commSubsystem(Target, TargetComm); + neg find groundStationNetwork(Target); +} + +private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) { + UHFCommSubsystem(Comm); +} + +private pattern groundStationNetwork(Network : GroundStationNetwork) { + GroundStationNetwork(Network); +} + +// Only a Small Satellite can be configured with a Ka-band communication system + +@Constraint(severity = "error", key = {Spacecraft}, + message = "Only a Small Satellite can be configured with a Ka-band communication system.") +pattern cubeSatWithKaAntenna(Spacecraft : Spacecraft) { + CommunicatingElement.commSubsystem(Spacecraft, Comm); + KaCommSubsystem(Comm); + neg find smallSat(Spacecraft); +} + +pattern smallSat(Sat : SmallSat) { + SmallSat(Sat); +} + +//// +//// Metrics +//// +// +//// Coverage +// +//pattern coverageMetric(Coverage : java Double) { +// Coverage == sum find missionCoverage(_, #_); +//} +// +//private pattern missionCoverage(Mission : InterferometryMission, Coverage : java Double) { +// InterferometryMission.observationTime(Mission, ObservationTime); +// ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _); +// Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3); +//} +// +//// Time +// +//pattern timeMetric(Time : java Double) { +// Time == sum find missionTime(_, #_); +//} +// +//private pattern missionTime(Mission : InterferometryMission, Time : java Double) { +// InterferometryMission.observationTime(Mission, ObservationTime); +// TrasmitTime == sum find transmitTime(Mission, _, #_); +// Time == eval(TrasmitTime + 60.0 * ObservationTime); +//} +// +//private pattern transmitTime(Mission : InterferometryMission, Spacecraft : Spacecraft, TransmitTime : java Double) { +// ConstellationMission.spacecraft(Mission, Spacecraft); +// find scienceData(Spacecraft, ScienceData); +// IncomingData == sum find incomingData(Spacecraft, _, #_); +// find transmitRate(Spacecraft, TransmitRate); +// TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate)); +//} +// +//private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) { +// find indirectCommunicationLink(Source, Spacecraft); +// find scienceData(Source, Data); +//} +// +//private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) { +// ConstellationMission.spacecraft(Mission, Spacecraft); +// InterferometryMission.observationTime(Mission, ObservationTime); +// Data == eval(12.0 * ObservationTime); +//} +// +//private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) { +// find spacecraftUplink(Spacecraft, Comm, Target); +// UHFCommSubsystem(Comm); +// Spacecraft(Target); +// TransmitRate == 5.0; +//} or { +// find spacecraftUplink(Spacecraft, Comm, Target); +// XCommSubsystem(Comm); +// Spacecraft(Target); +// TransmitRate == 1.6; +//} or { +// find spacecraftUplink(Spacecraft, Comm, Target); +// XCommSubsystem(Comm); +// GroundStationNetwork(Target); +// TransmitRate == 0.7; +//} or { +// find spacecraftUplink(Spacecraft, Comm, Target); +// KaCommSubsystem(Comm); +// Spacecraft(Target); +// TransmitRate == 220.0; +//} or { +// find spacecraftUplink(Spacecraft, Comm, Target); +// KaCommSubsystem(Comm); +// GroundStationNetwork(Target); +// TransmitRate == 80.0; +//} +// +//private pattern spacecraftUplink(Spacecraft : Spacecraft, TargetSubsystem : CommSubsystem, Target : CommunicatingElement) { +// CommunicatingElement.commSubsystem.target(Spacecraft, TargetSubsystem); +// CommunicatingElement.commSubsystem(Target, TargetSubsystem); +//} +// +//// Cost +// +//pattern costMetric(Cost : java Double) { +// Cost == sum find missionCost(_, #_); +//} +// +//private pattern missionCost(Mission : InterferometryMission, Cost : java Double) { +// InterferometryMission.observationTime(Mission, ObservationTime); +// SpacecraftCost == sum find spacecraftCost(Mission, _, #_); +// Cost == eval(SpacecraftCost + 100000.0 * ObservationTime); +//} +// +//private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) { +// ConstellationMission.spacecraft(Mission, Spacecraft); +// find spacecraftOfKindCount(Spacecraft, KindCount); +// find basePrice(Spacecraft, BasePrice); +// find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost); +// find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost); +// Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost); +//} +// +//private pattern spacecraftOfKindCount(Sat : Spacecraft, Count : java Integer) { +// CubeSat3U(Sat); +// Count == count find cubeSat3U(_); +//} or { +// CubeSat6U(Sat); +// Count == count find cubeSat6U(_); +//} or { +// SmallSat(Sat); +// Count == count find smallSat(_); +//} +// +//private pattern basePrice(Spacecraft : Spacecraft, BasePrice : java Double) { +// CubeSat3U(Spacecraft); +// BasePrice == 250000.0; +//} or { +// CubeSat6U(Spacecraft); +// BasePrice == 750000.0; +//} or { +// SmallSat(Spacecraft); +// BasePrice == 3000000.0; +//} +// +//private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) { +// find spacecraftWithInterferometryPayload(_, Spacecraft); +// Cost == 50000.0; +//} or { +// neg find spacecraftWithInterferometryPayload(_, Spacecraft); +// Cost == 0.0; +//} +// +//private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) { +// find spacecraftWithTwoCommSubsystems(Spacecraft); +// Cost == 100000.0; +//} or { +// neg find spacecraftWithTwoCommSubsystems(Spacecraft); +// Cost == 0.0; +//} +// +//private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) { +// Spacecraft.commSubsystem(Spacecraft, Subsystem1); +// Spacecraft.commSubsystem(Spacecraft, Subsystem2); +// Subsystem1 != Subsystem2; +//} 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 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.runner + +import hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions +import org.eclipse.viatra.query.runtime.rete.matcher.ReteBackendFactory + +final class SatelliteGeneratorMain { + private new() { + throw new IllegalStateException("This is a static utility class and should not be instantiated directly.") + } + + public static def void main(String[] args) { + ViatraQueryEngineOptions.setSystemDefaultBackends(ReteBackendFactory.INSTANCE, ReteBackendFactory.INSTANCE, + ReteBackendFactory.INSTANCE) + println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) + } +} -- cgit v1.2.3-54-g00ecf