From b21af04ea821c3daa9ce8a6d26c63e9cd198f9a5 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sat, 8 Jun 2019 19:17:34 -0400 Subject: Trying to simplify Satellite case study --- .../.classpath | 1 + .../.project | 1 - .../.settings/org.eclipse.core.resources.prefs | 3 + .../META-INF/MANIFEST.MF | 25 +- .../configs/generation.vsconfig | 2 +- .../dslreasoner/domains/satellite/AntennaGain.java | 242 --- .../domains/satellite/CommSubsystem.java | 83 - .../domains/satellite/CommunicatingElement.java | 69 - .../domains/satellite/ConstellationMission.java | 69 - .../inf/dslreasoner/domains/satellite/CubeSat.java | 16 - .../dslreasoner/domains/satellite/CubeSat3U.java | 16 - .../dslreasoner/domains/satellite/CubeSat6U.java | 16 - .../satellite/DirectedCommunicationLink.java | 77 - .../domains/satellite/GroundStationNetwork.java | 16 - .../domains/satellite/InterferometryMission.java | 49 - .../domains/satellite/InterferometryPayload.java | 16 - .../inf/dslreasoner/domains/satellite/Payload.java | 18 - .../domains/satellite/SatelliteFactory.java | 105 - .../domains/satellite/SatellitePackage.java | 1306 ------------ .../dslreasoner/domains/satellite/SmallSat.java | 16 - .../dslreasoner/domains/satellite/Spacecraft.java | 66 - .../domains/satellite/SpacecraftKind.java | 241 --- .../domains/satellite/TransceiverBand.java | 242 --- .../domains/satellite/impl/CommSubsystemImpl.java | 226 -- .../satellite/impl/CommunicatingElementImpl.java | 237 --- .../satellite/impl/ConstellationMissionImpl.java | 237 --- .../domains/satellite/impl/CubeSat3UImpl.java | 37 - .../domains/satellite/impl/CubeSat6UImpl.java | 37 - .../domains/satellite/impl/CubeSatImpl.java | 37 - .../impl/DirectedCommunicationLinkImpl.java | 227 -- .../satellite/impl/GroundStationNetworkImpl.java | 37 - .../satellite/impl/InterferometryMissionImpl.java | 166 -- .../satellite/impl/InterferometryPayloadImpl.java | 37 - .../domains/satellite/impl/PayloadImpl.java | 39 - .../satellite/impl/SatelliteFactoryImpl.java | 294 --- .../satellite/impl/SatellitePackageImpl.java | 684 ------ .../domains/satellite/impl/SmallSatImpl.java | 37 - .../domains/satellite/impl/SpacecraftImpl.java | 212 -- .../satellite/util/SatelliteAdapterFactory.java | 347 --- .../domains/satellite/util/SatelliteSwitch.java | 404 ---- .../ecore-gen/satellite/AntennaGain.java | 12 - .../ecore-gen/satellite/CommSubsystem.java | 66 +- .../ecore-gen/satellite/CommunicatingElement.java | 8 - .../ecore-gen/satellite/ConstellationMission.java | 8 - .../ecore-gen/satellite/CubeSat.java | 16 + .../ecore-gen/satellite/CubeSat3U.java | 2 +- .../ecore-gen/satellite/CubeSat6U.java | 2 +- .../satellite/DirectedCommunicationLink.java | 8 - .../ecore-gen/satellite/InterferometryMission.java | 4 - .../ecore-gen/satellite/KaCommSubsystem.java | 16 + .../ecore-gen/satellite/SatelliteFactory.java | 36 +- .../ecore-gen/satellite/SatellitePackage.java | 326 +-- .../ecore-gen/satellite/Spacecraft.java | 23 - .../ecore-gen/satellite/SpacecraftKind.java | 12 - .../ecore-gen/satellite/TransceiverBand.java | 12 - .../ecore-gen/satellite/UHFCommSubsystem.java | 16 + .../ecore-gen/satellite/XCommSubsystem.java | 16 + .../satellite/impl/CommSubsystemImpl.java | 191 +- .../ecore-gen/satellite/impl/CubeSat3UImpl.java | 2 +- .../ecore-gen/satellite/impl/CubeSat6UImpl.java | 2 +- .../ecore-gen/satellite/impl/CubeSatImpl.java | 37 + .../satellite/impl/KaCommSubsystemImpl.java | 37 + .../satellite/impl/SatelliteFactoryImpl.java | 115 +- .../satellite/impl/SatellitePackageImpl.java | 154 +- .../ecore-gen/satellite/impl/SpacecraftImpl.java | 28 - .../satellite/impl/UHFCommSubsystemImpl.java | 37 + .../satellite/impl/XCommSubsystemImpl.java | 37 + .../satellite/util/SatelliteAdapterFactory.java | 76 + .../ecore-gen/satellite/util/SatelliteSwitch.java | 102 + .../inputs/SatelliteInstance.xmi | 6 +- .../batch-0/batch-0-data-steps.csv | 145 ++ .../batch-0/batch-0-outcome.txt | 20 + .../batch-0/batch-0-serialized-objectives.pf | 1 + .../batch-0/mutation-operators/satellite.ecore | 68 + .../batch-0796A23B6.xmi | 13 + .../experiment-data.csv | 2 + .../satellite.mopt | 35 + ...0525-195435-matching-henshinoverall-results.txt | 27 + .../model/satellite.aird | 2225 -------------------- .../model/satellite.ecore | 32 +- .../model/satellite.genmodel | 25 +- .../model/satellite.henshin | 61 + .../model/satellite.henshin_diagram | 131 ++ .../model/satellite_fixup.henshin | 23 + .../outputs/debug/errors.txt | 13 + .../outputs/debug/generated3valued.vql_deactivated | 1756 +++++++-------- .../outputs/debug/generation.logicproblem | 1127 +++------- .../outputs/debug/init.partialmodel | 99 +- .../outputs/log.txt | 2 +- .../outputs/models/1.gml | 847 ++------ .../outputs/models/1.png | Bin 230838 -> 248114 bytes .../outputs/models/1.xmi | 20 +- .../outputs/statistics.csv | 2 +- .../plugin.xml | 22 +- .../domains/satellite/queries/.gitignore | 17 + .../domains/satellite/queries/CostMetric.java | 544 ----- .../domains/satellite/queries/CoverageMetric.java | 552 ----- .../satellite/queries/CubeSatWithKaAntenna.java | 27 +- .../queries/IncompatibleSourceAndTargetBand.java | 21 +- .../queries/IncompatibleSourceAndTargetGain.java | 582 ----- .../satellite/queries/KaAntennaGainLow.java | 574 ----- .../satellite/queries/SatelliteQueries.java | 88 - .../satellite/queries/SpacecraftOfKind.java | 754 ------- .../domains/satellite/queries/TimeMetric.java | 544 ----- .../satellite/queries/UhfAntennaGainNotLow.java | 576 ----- .../satellite/queries/XAntennaGainNotMedium.java | 570 ----- .../queries/internal/.CubeSat6U.java._trace | Bin 0 -> 718 bytes .../internal/.MatchingCommSubsystem.java._trace | Bin 0 -> 755 bytes .../domains/satellite/queries/internal/.gitignore | 28 + .../internal/AdditionalCommSubsystemCost.java | 173 -- .../satellite/queries/internal/BasePrice.java | 195 -- .../queries/internal/CommSubsystemBand.java | 140 -- .../queries/internal/CommSubsystemBandUhf.java | 23 +- .../queries/internal/CommSubsystemGain.java | 140 -- .../queries/internal/CommSubsystemGainLow.java | 138 -- .../queries/internal/CommSubsystemGainMedium.java | 138 -- .../satellite/queries/internal/CubeSat6U.java | 127 ++ .../satellite/queries/internal/IncomingData.java | 145 -- .../internal/InterferometryPayloadCost.java | 175 -- .../satellite/queries/internal/LinkAllowed.java | 23 +- .../queries/internal/MatchingAntenna.java | 67 +- .../queries/internal/MatchingCommSubsystem.java | 173 ++ .../satellite/queries/internal/MissionCost.java | 183 -- .../queries/internal/MissionCoverage.java | 183 -- .../satellite/queries/internal/MissionTime.java | 183 -- .../queries/internal/SatelliteQueriesAll.java | 81 +- .../satellite/queries/internal/ScienceData.java | 179 -- .../satellite/queries/internal/SpacecraftCost.java | 209 -- .../queries/internal/SpacecraftUplink.java | 171 -- .../internal/SpacecraftWithTwoCommSubsystems.java | 146 -- .../satellite/queries/internal/TransmitRate.java | 277 --- .../satellite/queries/internal/TransmitTime.java | 200 -- .../domains/satellite/mdeo/CostObjective.xtend | 13 + .../mdeo/ExcludedOptimisationInterpreter.xtend | 85 + .../satellite/mdeo/LocalSearchEngineManager.xtend | 31 + .../mdeo/MetricBasedGuidanceFunction.xtend | 47 + .../satellite/mdeo/PatternMatchConstraint.xtend | 29 + .../satellite/mdeo/SatelliteMdeOptimiserMain.xtend | 52 + .../domains/satellite/mdeo/satellite.mopt | 35 + .../domains/satellite/queries/SatelliteQueries.vql | 378 ++-- .../satellite/runner/SatelliteGeneratorMain.xtend | 4 +- .../inf/dslreasoner/domains/cps/mdeo/.gitignore | 3 + .../dslreasoner/domains/satellite/mdeo/.gitignore | 10 + .../domains/satellite/runner/.gitignore | 2 + 144 files changed, 3358 insertions(+), 19770 deletions(-) create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.settings/org.eclipse.core.resources.prefs delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/AntennaGain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommSubsystem.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommunicatingElement.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/ConstellationMission.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat3U.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat6U.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/DirectedCommunicationLink.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/GroundStationNetwork.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryMission.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryPayload.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Payload.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatelliteFactory.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatellitePackage.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SmallSat.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Spacecraft.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SpacecraftKind.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/TransceiverBand.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommSubsystemImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommunicatingElementImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/ConstellationMissionImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat3UImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat6UImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSatImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/DirectedCommunicationLinkImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/GroundStationNetworkImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryMissionImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryPayloadImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/PayloadImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatelliteFactoryImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatellitePackageImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SmallSatImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SpacecraftImpl.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteAdapterFactory.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteSwitch.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/KaCommSubsystem.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/CubeSatImpl.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/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/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin_diagram create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite_fixup.henshin create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/errors.txt delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CostMetric.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CoverageMetric.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/TimeMetric.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AdditionalCommSubsystemCost.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/BasePrice.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IncomingData.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/InterferometryPayloadCost.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCost.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCoverage.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionTime.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/ScienceData.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftCost.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftUplink.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithTwoCommSubsystems.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitRate.java delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitTime.java create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/ExcludedOptimisationInterpreter.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.xtend create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore create mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.satellite') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath index 8129e44b..e5e58475 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.classpath @@ -6,5 +6,6 @@ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project index e594a173..16db5fc5 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.project @@ -32,7 +32,6 @@ - org.eclipse.sirius.nature.modelingproject org.eclipse.jdt.core.javanature org.eclipse.pde.PluginNature org.eclipse.viatra.query.projectnature diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.settings/org.eclipse.core.resources.prefs b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 00000000..4a3e59e4 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +encoding//model/satellite.henshin=UTF-8 +encoding//model/satellite.henshin_diagram=UTF-8 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 index 21769598..b0d41022 100644 --- 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 @@ -6,11 +6,7 @@ Bundle-Version: 0.1.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin -Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite, - hu.bme.mit.inf.dslreasoner.domains.satellite.impl, - hu.bme.mit.inf.dslreasoner.domains.satellite.queries, - hu.bme.mit.inf.dslreasoner.domains.satellite.runner, - hu.bme.mit.inf.dslreasoner.domains.satellite.util, +Export-Package: hu.bme.mit.inf.dslreasoner.domains.satellite.queries, satellite, satellite.impl, satellite.util @@ -21,7 +17,24 @@ Require-Bundle: org.eclipse.viatra.addon.querybasedfeatures.runtime, org.eclipse.xtext.xbase.lib, org.eclipse.emf.ecore;visibility:=reexport, org.eclipse.core.runtime, - hu.bme.mit.inf.dslreasoner.application + hu.bme.mit.inf.dslreasoner.application, + org.eclipse.viatra.dse;bundle-version="0.22.0", + org.eclipse.viatra.dse.genetic;bundle-version="0.22.0", + hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner;bundle-version="1.0.0", + org.eclipse.emf.ecore.xmi;bundle-version="2.15.0", + uk.ac.kcl.inf.mdeoptimiser.libraries.core;bundle-version="1.0.0", + uk.ac.kcl.inf.mdeoptimiser.interfaces.cli;bundle-version="1.0.0", + org.eclipse.emf.henshin.interpreter;bundle-version="1.5.0", + uk.ac.kcl.inf.mdeoptimiser.libraries.rulegen;bundle-version="1.0.0", + org.sidiff.common;bundle-version="1.0.0", + org.sidiff.common.emf;bundle-version="1.0.0", + org.sidiff.common.emf.extensions;bundle-version="1.0.0", + org.moeaframework;bundle-version="2.13.0", + org.apache.commons.math3;bundle-version="3.6.1", + org.apache.commons.lang3;bundle-version="3.8.1", + com.google.inject;bundle-version="3.0.0", + org.sidiff.common.henshin;bundle-version="1.0.0", + org.sidiff.serge;bundle-version="1.0.0" Import-Package: org.apache.log4j Automatic-Module-Name: hu.bme.mit.inf.dslreasoner.domains.satellite Bundle-ActivationPolicy: lazy 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 index 1942980c..e0889475 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/configs/generation.vsconfig @@ -7,7 +7,7 @@ generate { partial-model = { "inputs/SatelliteInstance.xmi"} solver = ViatraSolver scope = { - #node += 16..32 + #node += 0..10 } config = { diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/AntennaGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/AntennaGain.java deleted file mode 100644 index 20a2c59f..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/AntennaGain.java +++ /dev/null @@ -1,242 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.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. - * - *

- * If the meaning of 'LOW' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #LOW - * @model - * @generated - * @ordered - */ - public static final int LOW_VALUE = 0; - - /** - * The 'MEDIUM' literal value. - * - *

- * If the meaning of 'MEDIUM' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #MEDIUM - * @model - * @generated - * @ordered - */ - public static final int MEDIUM_VALUE = 1; - - /** - * The 'HIGH' literal value. - * - *

- * If the meaning of 'HIGH' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @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/hu/bme/mit/inf/dslreasoner/domains/satellite/CommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommSubsystem.java deleted file mode 100644 index 255bfc4e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommSubsystem.java +++ /dev/null @@ -1,83 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Comm Subsystem'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand Band}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain Gain}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem() - * @model - * @generated - */ -public interface CommSubsystem extends EObject { - /** - * Returns the value of the 'Band' attribute. - * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand}. - * - *

- * If the meaning of the 'Band' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Band' attribute. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - * @see #setBand(TransceiverBand) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem_Band() - * @model required="true" - * @generated - */ - TransceiverBand getBand(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand Band}' attribute. - * - * - * @param value the new value of the 'Band' attribute. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - * @see #getBand() - * @generated - */ - void setBand(TransceiverBand value); - - /** - * Returns the value of the 'Gain' attribute. - * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain}. - * - *

- * If the meaning of the 'Gain' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Gain' attribute. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - * @see #setGain(AntennaGain) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommSubsystem_Gain() - * @model required="true" - * @generated - */ - AntennaGain getGain(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain Gain}' attribute. - * - * - * @param value the new value of the 'Gain' attribute. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - * @see #getGain() - * @generated - */ - void setGain(AntennaGain value); - -} // CommSubsystem diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommunicatingElement.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommunicatingElement.java deleted file mode 100644 index 3a4224cd..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CommunicatingElement.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem Comm Subsystem}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink Communication Link}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem}. - * - *

- * If the meaning of the 'Comm Subsystem' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Comm Subsystem' containment reference list. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommunicatingElement_CommSubsystem() - * @model containment="true" required="true" upper="2" - * @generated - */ - EList getCommSubsystem(); - - /** - * Returns the value of the 'Communication Link' containment reference. - * - *

- * If the meaning of the 'Communication Link' containment reference isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Communication Link' containment reference. - * @see #setCommunicationLink(DirectedCommunicationLink) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCommunicatingElement_CommunicationLink() - * @model containment="true" - * @generated - */ - DirectedCommunicationLink getCommunicationLink(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink Communication Link}' containment reference. - * - * - * @param value the new value of the 'Communication Link' containment reference. - * @see #getCommunicationLink() - * @generated - */ - void setCommunicationLink(DirectedCommunicationLink value); - -} // CommunicatingElement diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/ConstellationMission.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/ConstellationMission.java deleted file mode 100644 index 82fb5971..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/ConstellationMission.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork Ground Station Network}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft Spacecraft}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission() - * @model abstract="true" - * @generated - */ -public interface ConstellationMission extends EObject { - /** - * Returns the value of the 'Ground Station Network' containment reference. - * - *

- * If the meaning of the 'Ground Station Network' containment reference isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Ground Station Network' containment reference. - * @see #setGroundStationNetwork(GroundStationNetwork) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission_GroundStationNetwork() - * @model containment="true" required="true" - * @generated - */ - GroundStationNetwork getGroundStationNetwork(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft}. - * - *

- * If the meaning of the 'Spacecraft' containment reference list isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Spacecraft' containment reference list. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getConstellationMission_Spacecraft() - * @model containment="true" lower="2" upper="50" - * @generated - */ - EList getSpacecraft(); - -} // ConstellationMission diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat.java deleted file mode 100644 index ef66dce5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Cube Sat'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.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/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat3U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat3U.java deleted file mode 100644 index 98dea285..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat3U.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Cube Sat3 U'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCubeSat3U() - * @model - * @generated - */ -public interface CubeSat3U extends CubeSat { -} // CubeSat3U diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat6U.java deleted file mode 100644 index eb64fe33..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/CubeSat6U.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Cube Sat6 U'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getCubeSat6U() - * @model - * @generated - */ -public interface CubeSat6U extends CubeSat { -} // CubeSat6U diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/DirectedCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/DirectedCommunicationLink.java deleted file mode 100644 index b4eb1a82..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/DirectedCommunicationLink.java +++ /dev/null @@ -1,77 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Directed Communication Link'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource Source}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget Target}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink() - * @model - * @generated - */ -public interface DirectedCommunicationLink extends EObject { - /** - * Returns the value of the 'Source' reference. - * - *

- * If the meaning of the 'Source' reference isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Source' reference. - * @see #setSource(CommSubsystem) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink_Source() - * @model required="true" - * @generated - */ - CommSubsystem getSource(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource Source}' reference. - * - * - * @param value the new value of the 'Source' reference. - * @see #getSource() - * @generated - */ - void setSource(CommSubsystem value); - - /** - * Returns the value of the 'Target' reference. - * - *

- * If the meaning of the 'Target' reference isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Target' reference. - * @see #setTarget(CommSubsystem) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getDirectedCommunicationLink_Target() - * @model required="true" - * @generated - */ - CommSubsystem getTarget(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget Target}' reference. - * - * - * @param value the new value of the 'Target' reference. - * @see #getTarget() - * @generated - */ - void setTarget(CommSubsystem value); - -} // DirectedCommunicationLink diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/GroundStationNetwork.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/GroundStationNetwork.java deleted file mode 100644 index e256d24d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/GroundStationNetwork.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Ground Station Network'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getGroundStationNetwork() - * @model - * @generated - */ -public interface GroundStationNetwork extends CommunicatingElement { -} // GroundStationNetwork diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryMission.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryMission.java deleted file mode 100644 index 976ba160..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryMission.java +++ /dev/null @@ -1,49 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Interferometry Mission'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime Observation Time}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryMission() - * @model - * @generated - */ -public interface InterferometryMission extends ConstellationMission { - /** - * Returns the value of the 'Observation Time' attribute. - * The default value is "2.0". - * - *

- * If the meaning of the 'Observation Time' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Observation Time' attribute. - * @see #setObservationTime(float) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryMission_ObservationTime() - * @model default="2.0" required="true" - * @generated - */ - float getObservationTime(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime Observation Time}' attribute. - * - * - * @param value the new value of the 'Observation Time' attribute. - * @see #getObservationTime() - * @generated - */ - void setObservationTime(float value); - -} // InterferometryMission diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryPayload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryPayload.java deleted file mode 100644 index 06b47f38..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/InterferometryPayload.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Interferometry Payload'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getInterferometryPayload() - * @model - * @generated - */ -public interface InterferometryPayload extends Payload { -} // InterferometryPayload diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Payload.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Payload.java deleted file mode 100644 index 6f7f1418..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Payload.java +++ /dev/null @@ -1,18 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Payload'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.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/hu/bme/mit/inf/dslreasoner/domains/satellite/SatelliteFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatelliteFactory.java deleted file mode 100644 index 3b2bc48a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatelliteFactory.java +++ /dev/null @@ -1,105 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage - * @generated - */ -public interface SatelliteFactory extends EFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - SatelliteFactory eINSTANCE = hu.bme.mit.inf.dslreasoner.domains.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 'Comm Subsystem'. - * - * - * @return a new object of class 'Comm Subsystem'. - * @generated - */ - CommSubsystem createCommSubsystem(); - - /** - * Returns a new object of class 'Directed Communication Link'. - * - * - * @return a new object of class 'Directed Communication Link'. - * @generated - */ - DirectedCommunicationLink createDirectedCommunicationLink(); - - /** - * 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 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/hu/bme/mit/inf/dslreasoner/domains/satellite/SatellitePackage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatellitePackage.java deleted file mode 100644 index 1e129422..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SatellitePackage.java +++ /dev/null @@ -1,1306 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -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 hu.bme.mit.inf.dslreasoner.domains.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 = hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl.init(); - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl Constellation Mission}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl Interferometry Mission}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 feature id for the 'Observation Time' attribute. - * - * - * @generated - * @ordered - */ - int INTERFEROMETRY_MISSION__OBSERVATION_TIME = CONSTELLATION_MISSION_FEATURE_COUNT + 0; - - /** - * The number of structural features of the 'Interferometry Mission' class. - * - * - * @generated - * @ordered - */ - int INTERFEROMETRY_MISSION_FEATURE_COUNT = CONSTELLATION_MISSION_FEATURE_COUNT + 1; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl Communicating Element}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 feature id for the 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int COMMUNICATING_ELEMENT__COMMUNICATION_LINK = 1; - - /** - * The number of structural features of the 'Communicating Element' class. - * - * - * @generated - * @ordered - */ - int COMMUNICATING_ELEMENT_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Communicating Element' class. - * - * - * @generated - * @ordered - */ - int COMMUNICATING_ELEMENT_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl Ground Station Network}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 feature id for the 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int GROUND_STATION_NETWORK__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl Spacecraft}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int SPACECRAFT__COMMUNICATION_LINK = COMMUNICATING_ELEMENT__COMMUNICATION_LINK; - - /** - * The feature id for the 'Payload' containment reference. - * - * - * @generated - * @ordered - */ - int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int SPACECRAFT__KIND = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Spacecraft' class. - * - * - * @generated - * @ordered - */ - int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 2; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl Comm Subsystem}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommSubsystem() - * @generated - */ - int COMM_SUBSYSTEM = 5; - - /** - * The feature id for the 'Band' attribute. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM__BAND = 0; - - /** - * The feature id for the 'Gain' attribute. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM__GAIN = 1; - - /** - * The number of structural features of the 'Comm Subsystem' class. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Comm Subsystem' class. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl Directed Communication Link}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink() - * @generated - */ - int DIRECTED_COMMUNICATION_LINK = 6; - - /** - * The feature id for the 'Source' reference. - * - * - * @generated - * @ordered - */ - int DIRECTED_COMMUNICATION_LINK__SOURCE = 0; - - /** - * The feature id for the 'Target' reference. - * - * - * @generated - * @ordered - */ - int DIRECTED_COMMUNICATION_LINK__TARGET = 1; - - /** - * The number of structural features of the 'Directed Communication Link' class. - * - * - * @generated - * @ordered - */ - int DIRECTED_COMMUNICATION_LINK_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Directed Communication Link' class. - * - * - * @generated - * @ordered - */ - int DIRECTED_COMMUNICATION_LINK_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl Payload}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getPayload() - * @generated - */ - int PAYLOAD = 7; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl Interferometry Payload}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryPayload() - * @generated - */ - int INTERFEROMETRY_PAYLOAD = 8; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl Cube Sat}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat() - * @generated - */ - int CUBE_SAT = 12; - - /** - * 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 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; - - /** - * The feature id for the 'Payload' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int CUBE_SAT__KIND = SPACECRAFT__KIND; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl Cube Sat3 U}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat3U() - * @generated - */ - int CUBE_SAT3_U = 9; - - /** - * 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 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; - - /** - * The feature id for the 'Payload' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT3_U__PAYLOAD = CUBE_SAT__PAYLOAD; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int CUBE_SAT3_U__KIND = CUBE_SAT__KIND; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl Cube Sat6 U}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat6U() - * @generated - */ - int CUBE_SAT6_U = 10; - - /** - * 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 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; - - /** - * The feature id for the 'Payload' containment reference. - * - * - * @generated - * @ordered - */ - int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int CUBE_SAT6_U__KIND = CUBE_SAT__KIND; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl Small Sat}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSmallSat() - * @generated - */ - int SMALL_SAT = 11; - - /** - * 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 'Communication Link' containment reference. - * - * - * @generated - * @ordered - */ - int SMALL_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; - - /** - * The feature id for the 'Payload' containment reference. - * - * - * @generated - * @ordered - */ - int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int SMALL_SAT__KIND = SPACECRAFT__KIND; - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand Transceiver Band}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getTransceiverBand() - * @generated - */ - int TRANSCEIVER_BAND = 13; - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain Antenna Gain}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getAntennaGain() - * @generated - */ - int ANTENNA_GAIN = 14; - - /** - * The meta object id for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind Spacecraft Kind}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraftKind() - * @generated - */ - int SPACECRAFT_KIND = 15; - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission Constellation Mission}'. - * - * - * @return the meta object for class 'Constellation Mission'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission - * @generated - */ - EClass getConstellationMission(); - - /** - * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork Ground Station Network}'. - * - * - * @return the meta object for the containment reference 'Ground Station Network'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getGroundStationNetwork() - * @see #getConstellationMission() - * @generated - */ - EReference getConstellationMission_GroundStationNetwork(); - - /** - * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft Spacecraft}'. - * - * - * @return the meta object for the containment reference list 'Spacecraft'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission#getSpacecraft() - * @see #getConstellationMission() - * @generated - */ - EReference getConstellationMission_Spacecraft(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission Interferometry Mission}'. - * - * - * @return the meta object for class 'Interferometry Mission'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission - * @generated - */ - EClass getInterferometryMission(); - - /** - * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime Observation Time}'. - * - * - * @return the meta object for the attribute 'Observation Time'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission#getObservationTime() - * @see #getInterferometryMission() - * @generated - */ - EAttribute getInterferometryMission_ObservationTime(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement Communicating Element}'. - * - * - * @return the meta object for class 'Communicating Element'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement - * @generated - */ - EClass getCommunicatingElement(); - - /** - * Returns the meta object for the containment reference list '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem Comm Subsystem}'. - * - * - * @return the meta object for the containment reference list 'Comm Subsystem'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommSubsystem() - * @see #getCommunicatingElement() - * @generated - */ - EReference getCommunicatingElement_CommSubsystem(); - - /** - * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink Communication Link}'. - * - * - * @return the meta object for the containment reference 'Communication Link'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement#getCommunicationLink() - * @see #getCommunicatingElement() - * @generated - */ - EReference getCommunicatingElement_CommunicationLink(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork Ground Station Network}'. - * - * - * @return the meta object for class 'Ground Station Network'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork - * @generated - */ - EClass getGroundStationNetwork(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft Spacecraft}'. - * - * - * @return the meta object for class 'Spacecraft'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft - * @generated - */ - EClass getSpacecraft(); - - /** - * Returns the meta object for the containment reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload Payload}'. - * - * - * @return the meta object for the containment reference 'Payload'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload() - * @see #getSpacecraft() - * @generated - */ - EReference getSpacecraft_Payload(); - - /** - * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind Kind}'. - * - * - * @return the meta object for the attribute 'Kind'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind() - * @see #getSpacecraft() - * @generated - */ - EAttribute getSpacecraft_Kind(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem Comm Subsystem}'. - * - * - * @return the meta object for class 'Comm Subsystem'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem - * @generated - */ - EClass getCommSubsystem(); - - /** - * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand Band}'. - * - * - * @return the meta object for the attribute 'Band'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getBand() - * @see #getCommSubsystem() - * @generated - */ - EAttribute getCommSubsystem_Band(); - - /** - * Returns the meta object for the attribute '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain Gain}'. - * - * - * @return the meta object for the attribute 'Gain'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem#getGain() - * @see #getCommSubsystem() - * @generated - */ - EAttribute getCommSubsystem_Gain(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink Directed Communication Link}'. - * - * - * @return the meta object for class 'Directed Communication Link'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink - * @generated - */ - EClass getDirectedCommunicationLink(); - - /** - * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource Source}'. - * - * - * @return the meta object for the reference 'Source'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getSource() - * @see #getDirectedCommunicationLink() - * @generated - */ - EReference getDirectedCommunicationLink_Source(); - - /** - * Returns the meta object for the reference '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget Target}'. - * - * - * @return the meta object for the reference 'Target'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink#getTarget() - * @see #getDirectedCommunicationLink() - * @generated - */ - EReference getDirectedCommunicationLink_Target(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Payload Payload}'. - * - * - * @return the meta object for class 'Payload'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.Payload - * @generated - */ - EClass getPayload(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload Interferometry Payload}'. - * - * - * @return the meta object for class 'Interferometry Payload'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload - * @generated - */ - EClass getInterferometryPayload(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U Cube Sat3 U}'. - * - * - * @return the meta object for class 'Cube Sat3 U'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U - * @generated - */ - EClass getCubeSat3U(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U Cube Sat6 U}'. - * - * - * @return the meta object for class 'Cube Sat6 U'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U - * @generated - */ - EClass getCubeSat6U(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat Small Sat}'. - * - * - * @return the meta object for class 'Small Sat'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat - * @generated - */ - EClass getSmallSat(); - - /** - * Returns the meta object for class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat Cube Sat}'. - * - * - * @return the meta object for class 'Cube Sat'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat - * @generated - */ - EClass getCubeSat(); - - /** - * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand Transceiver Band}'. - * - * - * @return the meta object for enum 'Transceiver Band'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - * @generated - */ - EEnum getTransceiverBand(); - - /** - * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain Antenna Gain}'. - * - * - * @return the meta object for enum 'Antenna Gain'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - * @generated - */ - EEnum getAntennaGain(); - - /** - * Returns the meta object for enum '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind Spacecraft Kind}'. - * - * - * @return the meta object for enum 'Spacecraft Kind'. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind - * @generated - */ - EEnum getSpacecraftKind(); - - /** - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl Constellation Mission}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl Interferometry Mission}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryMission() - * @generated - */ - EClass INTERFEROMETRY_MISSION = eINSTANCE.getInterferometryMission(); - - /** - * The meta object literal for the 'Observation Time' attribute feature. - * - * - * @generated - */ - EAttribute INTERFEROMETRY_MISSION__OBSERVATION_TIME = eINSTANCE.getInterferometryMission_ObservationTime(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl Communicating Element}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 'Communication Link' containment reference feature. - * - * - * @generated - */ - EReference COMMUNICATING_ELEMENT__COMMUNICATION_LINK = eINSTANCE.getCommunicatingElement_CommunicationLink(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl Ground Station Network}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.GroundStationNetworkImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getGroundStationNetwork() - * @generated - */ - EClass GROUND_STATION_NETWORK = eINSTANCE.getGroundStationNetwork(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl Spacecraft}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl - * @see hu.bme.mit.inf.dslreasoner.domains.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 'Kind' attribute feature. - * - * - * @generated - */ - EAttribute SPACECRAFT__KIND = eINSTANCE.getSpacecraft_Kind(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl Comm Subsystem}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCommSubsystem() - * @generated - */ - EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem(); - - /** - * The meta object literal for the 'Band' attribute feature. - * - * - * @generated - */ - EAttribute COMM_SUBSYSTEM__BAND = eINSTANCE.getCommSubsystem_Band(); - - /** - * The meta object literal for the 'Gain' attribute feature. - * - * - * @generated - */ - EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl Directed Communication Link}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getDirectedCommunicationLink() - * @generated - */ - EClass DIRECTED_COMMUNICATION_LINK = eINSTANCE.getDirectedCommunicationLink(); - - /** - * The meta object literal for the 'Source' reference feature. - * - * - * @generated - */ - EReference DIRECTED_COMMUNICATION_LINK__SOURCE = eINSTANCE.getDirectedCommunicationLink_Source(); - - /** - * The meta object literal for the 'Target' reference feature. - * - * - * @generated - */ - EReference DIRECTED_COMMUNICATION_LINK__TARGET = eINSTANCE.getDirectedCommunicationLink_Target(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl Payload}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.PayloadImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getPayload() - * @generated - */ - EClass PAYLOAD = eINSTANCE.getPayload(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl Interferometry Payload}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryPayloadImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getInterferometryPayload() - * @generated - */ - EClass INTERFEROMETRY_PAYLOAD = eINSTANCE.getInterferometryPayload(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl Cube Sat3 U}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat3UImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat3U() - * @generated - */ - EClass CUBE_SAT3_U = eINSTANCE.getCubeSat3U(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl Cube Sat6 U}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSat6UImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat6U() - * @generated - */ - EClass CUBE_SAT6_U = eINSTANCE.getCubeSat6U(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl Small Sat}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SmallSatImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSmallSat() - * @generated - */ - EClass SMALL_SAT = eINSTANCE.getSmallSat(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl Cube Sat}' class. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CubeSatImpl - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getCubeSat() - * @generated - */ - EClass CUBE_SAT = eINSTANCE.getCubeSat(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand Transceiver Band}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getTransceiverBand() - * @generated - */ - EEnum TRANSCEIVER_BAND = eINSTANCE.getTransceiverBand(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain Antenna Gain}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getAntennaGain() - * @generated - */ - EEnum ANTENNA_GAIN = eINSTANCE.getAntennaGain(); - - /** - * The meta object literal for the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind Spacecraft Kind}' enum. - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SatellitePackageImpl#getSpacecraftKind() - * @generated - */ - EEnum SPACECRAFT_KIND = eINSTANCE.getSpacecraftKind(); - - } - -} //SatellitePackage diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SmallSat.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SmallSat.java deleted file mode 100644 index b3a3d63c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SmallSat.java +++ /dev/null @@ -1,16 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Small Sat'. - * - * - * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSmallSat() - * @model - * @generated - */ -public interface SmallSat extends Spacecraft { -} // SmallSat diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Spacecraft.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Spacecraft.java deleted file mode 100644 index 34f9750a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/Spacecraft.java +++ /dev/null @@ -1,66 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite; - -/** - * - * A representation of the model object 'Spacecraft'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload Payload}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getKind Kind}
  • - *
- * - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft() - * @model abstract="true" - * @generated - */ -public interface Spacecraft extends CommunicatingElement { - /** - * Returns the value of the 'Payload' containment reference. - * - *

- * If the meaning of the 'Payload' containment reference isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Payload' containment reference. - * @see #setPayload(Payload) - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft_Payload() - * @model containment="true" - * @generated - */ - Payload getPayload(); - - /** - * Sets the value of the '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft#getPayload Payload}' containment reference. - * - * - * @param value the new value of the 'Payload' containment reference. - * @see #getPayload() - * @generated - */ - void setPayload(Payload value); - - /** - * Returns the value of the 'Kind' attribute. - * The literals are from the enumeration {@link hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind}. - * - *

- * If the meaning of the 'Kind' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Kind' attribute. - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind - * @see hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage#getSpacecraft_Kind() - * @model required="true" transient="true" changeable="false" volatile="true" derived="true" - * @generated - */ - SpacecraftKind getKind(); - -} // Spacecraft diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SpacecraftKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SpacecraftKind.java deleted file mode 100644 index b0b6aede..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/SpacecraftKind.java +++ /dev/null @@ -1,241 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.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. - * - *

- * If the meaning of 'Cube Sat3 U' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #CUBE_SAT3_U - * @model name="CubeSat3U" - * @generated - * @ordered - */ - public static final int CUBE_SAT3_U_VALUE = 0; - - /** - * The 'Cube Sat6 U' literal value. - * - *

- * If the meaning of 'Cube Sat6 U' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #CUBE_SAT6_U - * @model name="CubeSat6U" - * @generated - * @ordered - */ - public static final int CUBE_SAT6_U_VALUE = 1; - - /** - * The 'Small Sat' literal value. - * - *

- * If the meaning of 'Small Sat' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @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/hu/bme/mit/inf/dslreasoner/domains/satellite/TransceiverBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/TransceiverBand.java deleted file mode 100644 index 62aae5f7..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/TransceiverBand.java +++ /dev/null @@ -1,242 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.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. - * - *

- * If the meaning of 'UHF' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #UHF - * @model - * @generated - * @ordered - */ - public static final int UHF_VALUE = 0; - - /** - * The 'X' literal value. - * - *

- * If the meaning of 'X' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @see #X - * @model - * @generated - * @ordered - */ - public static final int X_VALUE = 1; - - /** - * The 'Ka' literal value. - * - *

- * If the meaning of 'Ka' literal object isn't clear, - * there really should be more of a description here... - *

- * - * @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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommSubsystemImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommSubsystemImpl.java deleted file mode 100644 index fbde1603..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommSubsystemImpl.java +++ /dev/null @@ -1,226 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -/** - * - * An implementation of the model object 'Comm Subsystem'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl#getBand Band}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommSubsystemImpl#getGain Gain}
  • - *
- * - * @generated - */ -public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { - /** - * The default value of the '{@link #getBand() Band}' attribute. - * - * - * @see #getBand() - * @generated - * @ordered - */ - protected static final TransceiverBand BAND_EDEFAULT = TransceiverBand.UHF; - - /** - * The cached value of the '{@link #getBand() Band}' attribute. - * - * - * @see #getBand() - * @generated - * @ordered - */ - protected TransceiverBand band = BAND_EDEFAULT; - - /** - * The default value of the '{@link #getGain() Gain}' attribute. - * - * - * @see #getGain() - * @generated - * @ordered - */ - protected static final AntennaGain GAIN_EDEFAULT = AntennaGain.LOW; - - /** - * The cached value of the '{@link #getGain() Gain}' attribute. - * - * - * @see #getGain() - * @generated - * @ordered - */ - protected AntennaGain gain = GAIN_EDEFAULT; - - /** - * - * - * @generated - */ - protected CommSubsystemImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SatellitePackage.Literals.COMM_SUBSYSTEM; - } - - /** - * - * - * @generated - */ - @Override - public TransceiverBand getBand() { - return band; - } - - /** - * - * - * @generated - */ - @Override - public void setBand(TransceiverBand newBand) { - TransceiverBand oldBand = band; - band = newBand == null ? BAND_EDEFAULT : newBand; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__BAND, oldBand, - band)); - } - - /** - * - * - * @generated - */ - @Override - public AntennaGain getGain() { - return gain; - } - - /** - * - * - * @generated - */ - @Override - public void setGain(AntennaGain newGain) { - AntennaGain oldGain = gain; - gain = newGain == null ? GAIN_EDEFAULT : newGain; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__GAIN, oldGain, - gain)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - return getBand(); - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - return getGain(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - setBand((TransceiverBand) newValue); - return; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - setGain((AntennaGain) newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - setBand(BAND_EDEFAULT); - return; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - setGain(GAIN_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - return band != BAND_EDEFAULT; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - return gain != GAIN_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) - return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (band: "); - result.append(band); - result.append(", gain: "); - result.append(gain); - result.append(')'); - return result.toString(); - } - -} //CommSubsystemImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommunicatingElementImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommunicatingElementImpl.java deleted file mode 100644 index 4b51e52e..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CommunicatingElementImpl.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement; -import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -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; - -/** - * - * An implementation of the model object 'Communicating Element'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl#getCommSubsystem Comm Subsystem}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.CommunicatingElementImpl#getCommunicationLink Communication Link}
  • - *
- * - * @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; - - /** - * The cached value of the '{@link #getCommunicationLink() Communication Link}' containment reference. - * - * - * @see #getCommunicationLink() - * @generated - * @ordered - */ - protected DirectedCommunicationLink communicationLink; - - /** - * - * - * @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 DirectedCommunicationLink getCommunicationLink() { - return communicationLink; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetCommunicationLink(DirectedCommunicationLink newCommunicationLink, - NotificationChain msgs) { - DirectedCommunicationLink oldCommunicationLink = communicationLink; - communicationLink = newCommunicationLink; - if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, oldCommunicationLink, - newCommunicationLink); - if (msgs == null) - msgs = notification; - else - msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - @Override - public void setCommunicationLink(DirectedCommunicationLink newCommunicationLink) { - if (newCommunicationLink != communicationLink) { - NotificationChain msgs = null; - if (communicationLink != null) - msgs = ((InternalEObject) communicationLink).eInverseRemove(this, - EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null, - msgs); - if (newCommunicationLink != null) - msgs = ((InternalEObject) newCommunicationLink).eInverseAdd(this, - EOPPOSITE_FEATURE_BASE - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, null, - msgs); - msgs = basicSetCommunicationLink(newCommunicationLink, msgs); - if (msgs != null) - msgs.dispatch(); - } else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, - SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK, newCommunicationLink, - newCommunicationLink)); - } - - /** - * - * - * @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); - case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: - return basicSetCommunicationLink(null, 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(); - case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: - return getCommunicationLink(); - } - 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; - case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: - setCommunicationLink((DirectedCommunicationLink) newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: - getCommSubsystem().clear(); - return; - case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: - setCommunicationLink((DirectedCommunicationLink) null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SatellitePackage.COMMUNICATING_ELEMENT__COMM_SUBSYSTEM: - return commSubsystem != null && !commSubsystem.isEmpty(); - case SatellitePackage.COMMUNICATING_ELEMENT__COMMUNICATION_LINK: - return communicationLink != null; - } - return super.eIsSet(featureID); - } - -} //CommunicatingElementImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/ConstellationMissionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/ConstellationMissionImpl.java deleted file mode 100644 index 710b5982..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/ConstellationMissionImpl.java +++ /dev/null @@ -1,237 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission; -import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft; - -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; - -/** - * - * An implementation of the model object 'Constellation Mission'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.ConstellationMissionImpl#getGroundStationNetwork Ground Station Network}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat3UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat3UImpl.java deleted file mode 100644 index 3e0d6f2c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat3UImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat6UImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat6UImpl.java deleted file mode 100644 index 7ad2bc87..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSat6UImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSatImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSatImpl.java deleted file mode 100644 index b8e364a3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/CubeSatImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/DirectedCommunicationLinkImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/DirectedCommunicationLinkImpl.java deleted file mode 100644 index b0338e2d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/DirectedCommunicationLinkImpl.java +++ /dev/null @@ -1,227 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem; -import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -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; - -/** - * - * An implementation of the model object 'Directed Communication Link'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl#getSource Source}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.DirectedCommunicationLinkImpl#getTarget Target}
  • - *
- * - * @generated - */ -public class DirectedCommunicationLinkImpl extends MinimalEObjectImpl.Container implements DirectedCommunicationLink { - /** - * The cached value of the '{@link #getSource() Source}' reference. - * - * - * @see #getSource() - * @generated - * @ordered - */ - protected CommSubsystem source; - - /** - * The cached value of the '{@link #getTarget() Target}' reference. - * - * - * @see #getTarget() - * @generated - * @ordered - */ - protected CommSubsystem target; - - /** - * - * - * @generated - */ - protected DirectedCommunicationLinkImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SatellitePackage.Literals.DIRECTED_COMMUNICATION_LINK; - } - - /** - * - * - * @generated - */ - @Override - public CommSubsystem getSource() { - if (source != null && source.eIsProxy()) { - InternalEObject oldSource = (InternalEObject) source; - source = (CommSubsystem) eResolveProxy(oldSource); - if (source != oldSource) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, - SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE, oldSource, source)); - } - } - return source; - } - - /** - * - * - * @generated - */ - public CommSubsystem basicGetSource() { - return source; - } - - /** - * - * - * @generated - */ - @Override - public void setSource(CommSubsystem newSource) { - CommSubsystem oldSource = source; - source = newSource; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE, - oldSource, source)); - } - - /** - * - * - * @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.DIRECTED_COMMUNICATION_LINK__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.DIRECTED_COMMUNICATION_LINK__TARGET, - oldTarget, target)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE: - if (resolve) - return getSource(); - return basicGetSource(); - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET: - if (resolve) - return getTarget(); - return basicGetTarget(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE: - setSource((CommSubsystem) newValue); - return; - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET: - setTarget((CommSubsystem) newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE: - setSource((CommSubsystem) null); - return; - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET: - setTarget((CommSubsystem) null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__SOURCE: - return source != null; - case SatellitePackage.DIRECTED_COMMUNICATION_LINK__TARGET: - return target != null; - } - return super.eIsSet(featureID); - } - -} //DirectedCommunicationLinkImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/GroundStationNetworkImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/GroundStationNetworkImpl.java deleted file mode 100644 index 890e807c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/GroundStationNetworkImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryMissionImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryMissionImpl.java deleted file mode 100644 index b2687ea3..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryMissionImpl.java +++ /dev/null @@ -1,166 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -/** - * - * An implementation of the model object 'Interferometry Mission'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.InterferometryMissionImpl#getObservationTime Observation Time}
  • - *
- * - * @generated - */ -public class InterferometryMissionImpl extends ConstellationMissionImpl implements InterferometryMission { - /** - * The default value of the '{@link #getObservationTime() Observation Time}' attribute. - * - * - * @see #getObservationTime() - * @generated - * @ordered - */ - protected static final float OBSERVATION_TIME_EDEFAULT = 2.0F; - - /** - * The cached value of the '{@link #getObservationTime() Observation Time}' attribute. - * - * - * @see #getObservationTime() - * @generated - * @ordered - */ - protected float observationTime = OBSERVATION_TIME_EDEFAULT; - - /** - * - * - * @generated - */ - protected InterferometryMissionImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SatellitePackage.Literals.INTERFEROMETRY_MISSION; - } - - /** - * - * - * @generated - */ - @Override - public float getObservationTime() { - return observationTime; - } - - /** - * - * - * @generated - */ - @Override - public void setObservationTime(float newObservationTime) { - float oldObservationTime = observationTime; - observationTime = newObservationTime; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, - SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME, oldObservationTime, observationTime)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME: - return getObservationTime(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME: - setObservationTime((Float) newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME: - setObservationTime(OBSERVATION_TIME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SatellitePackage.INTERFEROMETRY_MISSION__OBSERVATION_TIME: - return observationTime != OBSERVATION_TIME_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) - return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (observationTime: "); - result.append(observationTime); - result.append(')'); - return result.toString(); - } - -} //InterferometryMissionImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryPayloadImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryPayloadImpl.java deleted file mode 100644 index 5657c268..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/InterferometryPayloadImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/PayloadImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/PayloadImpl.java deleted file mode 100644 index 78625d22..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/PayloadImpl.java +++ /dev/null @@ -1,39 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatelliteFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatelliteFactoryImpl.java deleted file mode 100644 index 028ba662..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatelliteFactoryImpl.java +++ /dev/null @@ -1,294 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.*; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -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; - -/** - * - * 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.COMM_SUBSYSTEM: - return createCommSubsystem(); - case SatellitePackage.DIRECTED_COMMUNICATION_LINK: - return createDirectedCommunicationLink(); - 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(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case SatellitePackage.TRANSCEIVER_BAND: - return createTransceiverBandFromString(eDataType, initialValue); - case SatellitePackage.ANTENNA_GAIN: - return createAntennaGainFromString(eDataType, initialValue); - case SatellitePackage.SPACECRAFT_KIND: - return createSpacecraftKindFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case SatellitePackage.TRANSCEIVER_BAND: - return convertTransceiverBandToString(eDataType, instanceValue); - case SatellitePackage.ANTENNA_GAIN: - return convertAntennaGainToString(eDataType, instanceValue); - case SatellitePackage.SPACECRAFT_KIND: - return convertSpacecraftKindToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.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 CommSubsystem createCommSubsystem() { - CommSubsystemImpl commSubsystem = new CommSubsystemImpl(); - return commSubsystem; - } - - /** - * - * - * @generated - */ - @Override - public DirectedCommunicationLink createDirectedCommunicationLink() { - DirectedCommunicationLinkImpl directedCommunicationLink = new DirectedCommunicationLinkImpl(); - return directedCommunicationLink; - } - - /** - * - * - * @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 - */ - public TransceiverBand createTransceiverBandFromString(EDataType eDataType, String initialValue) { - TransceiverBand result = TransceiverBand.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertTransceiverBandToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public AntennaGain createAntennaGainFromString(EDataType eDataType, String initialValue) { - AntennaGain result = AntennaGain.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertAntennaGainToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public SpacecraftKind createSpacecraftKindFromString(EDataType eDataType, String initialValue) { - SpacecraftKind result = SpacecraftKind.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertSpacecraftKindToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatellitePackageImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatellitePackageImpl.java deleted file mode 100644 index bbe77e4d..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SatellitePackageImpl.java +++ /dev/null @@ -1,684 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement; -import hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U; -import hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork; -import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission; -import hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatelliteFactory; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind; -import hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -/** - * - * 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 directedCommunicationLinkEClass = 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 EEnum transceiverBandEEnum = null; - - /** - * - * - * @generated - */ - private EEnum antennaGainEEnum = null; - - /** - * - * - * @generated - */ - private EEnum spacecraftKindEEnum = 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 hu.bme.mit.inf.dslreasoner.domains.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 EAttribute getInterferometryMission_ObservationTime() { - return (EAttribute) interferometryMissionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EClass getCommunicatingElement() { - return communicatingElementEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getCommunicatingElement_CommSubsystem() { - return (EReference) communicatingElementEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getCommunicatingElement_CommunicationLink() { - return (EReference) communicatingElementEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @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 EAttribute getSpacecraft_Kind() { - return (EAttribute) spacecraftEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getCommSubsystem() { - return commSubsystemEClass; - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getCommSubsystem_Band() { - return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getCommSubsystem_Gain() { - return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - @Override - public EClass getDirectedCommunicationLink() { - return directedCommunicationLinkEClass; - } - - /** - * - * - * @generated - */ - @Override - public EReference getDirectedCommunicationLink_Source() { - return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EReference getDirectedCommunicationLink_Target() { - return (EReference) directedCommunicationLinkEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @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 EEnum getTransceiverBand() { - return transceiverBandEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getAntennaGain() { - return antennaGainEEnum; - } - - /** - * - * - * @generated - */ - @Override - public EEnum getSpacecraftKind() { - return spacecraftKindEEnum; - } - - /** - * - * - * @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); - createEAttribute(interferometryMissionEClass, INTERFEROMETRY_MISSION__OBSERVATION_TIME); - - communicatingElementEClass = createEClass(COMMUNICATING_ELEMENT); - createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMM_SUBSYSTEM); - createEReference(communicatingElementEClass, COMMUNICATING_ELEMENT__COMMUNICATION_LINK); - - groundStationNetworkEClass = createEClass(GROUND_STATION_NETWORK); - - spacecraftEClass = createEClass(SPACECRAFT); - createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD); - createEAttribute(spacecraftEClass, SPACECRAFT__KIND); - - commSubsystemEClass = createEClass(COMM_SUBSYSTEM); - createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND); - createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN); - - directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK); - createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE); - createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__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); - - // Create enums - transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND); - antennaGainEEnum = createEEnum(ANTENNA_GAIN); - spacecraftKindEEnum = createEEnum(SPACECRAFT_KIND); - } - - /** - * - * - * @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()); - - // 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, 50, - 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); - initEAttribute(getInterferometryMission_ObservationTime(), ecorePackage.getEFloat(), "observationTime", "2.0", - 1, 1, InterferometryMission.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, - IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - 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); - initEReference(getCommunicatingElement_CommunicationLink(), this.getDirectedCommunicationLink(), null, - "communicationLink", null, 0, 1, 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); - initEAttribute(getSpacecraft_Kind(), this.getSpacecraftKind(), "kind", null, 1, 1, Spacecraft.class, - IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - - initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, - IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getCommSubsystem_Band(), this.getTransceiverBand(), "band", null, 1, 1, CommSubsystem.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", - !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getDirectedCommunicationLink_Source(), this.getCommSubsystem(), null, "source", null, 1, 1, - DirectedCommunicationLink.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, - IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getDirectedCommunicationLink_Target(), this.getCommSubsystem(), null, "target", null, 1, 1, - DirectedCommunicationLink.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); - - // Initialize enums and add enum literals - initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand"); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.X); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.KA); - - initEEnum(antennaGainEEnum, AntennaGain.class, "AntennaGain"); - addEEnumLiteral(antennaGainEEnum, AntennaGain.LOW); - addEEnumLiteral(antennaGainEEnum, AntennaGain.MEDIUM); - addEEnumLiteral(antennaGainEEnum, AntennaGain.HIGH); - - initEEnum(spacecraftKindEEnum, SpacecraftKind.class, "SpacecraftKind"); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT3_U); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT6_U); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.SMALL_SAT); - - // Create resource - createResource(eNS_URI); - } - -} //SatellitePackageImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SmallSatImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SmallSatImpl.java deleted file mode 100644 index 522991ad..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SmallSatImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat; - -import org.eclipse.emf.ecore.EClass; - -/** - * - * 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/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SpacecraftImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SpacecraftImpl.java deleted file mode 100644 index 9d74270a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/impl/SpacecraftImpl.java +++ /dev/null @@ -1,212 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.impl; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.Payload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.SatellitePackage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind; -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; - -/** - * - * An implementation of the model object 'Spacecraft'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl#getPayload Payload}
  • - *
  • {@link hu.bme.mit.inf.dslreasoner.domains.satellite.impl.SpacecraftImpl#getKind Kind}
  • - *
- * - * @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; - - /** - * The default value of the '{@link #getKind() Kind}' attribute. - * - * - * @see #getKind() - * @generated - * @ordered - */ - protected static final SpacecraftKind KIND_EDEFAULT = SpacecraftKind.CUBE_SAT3_U; - - /** - * - * - * @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 SpacecraftKind getKind() { - // TODO: implement this method to return the 'Kind' attribute - // Ensure that you remove @generated or mark it @generated NOT - throw new UnsupportedOperationException(); - } - - /** - * - * - * @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(); - case SatellitePackage.SPACECRAFT__KIND: - return getKind(); - } - 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; - case SatellitePackage.SPACECRAFT__KIND: - return getKind() != KIND_EDEFAULT; - } - return super.eIsSet(featureID); - } - -} //SpacecraftImpl diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteAdapterFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteAdapterFactory.java deleted file mode 100644 index fd948334..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteAdapterFactory.java +++ /dev/null @@ -1,347 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.util; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.*; - -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; - -/** - * - * The Adapter Factory for the model. - * It provides an adapter createXXX method for each class of the model. - * - * @see hu.bme.mit.inf.dslreasoner.domains.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 caseDirectedCommunicationLink(DirectedCommunicationLink object) { - return createDirectedCommunicationLinkAdapter(); - } - - @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 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 hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission - * @generated - */ - public Adapter createConstellationMissionAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission - * @generated - */ - public Adapter createInterferometryMissionAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement - * @generated - */ - public Adapter createCommunicatingElementAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork - * @generated - */ - public Adapter createGroundStationNetworkAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft - * @generated - */ - public Adapter createSpacecraftAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem - * @generated - */ - public Adapter createCommSubsystemAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink Directed Communication Link}'. - * - * 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 hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink - * @generated - */ - public Adapter createDirectedCommunicationLinkAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.Payload - * @generated - */ - public Adapter createPayloadAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryPayload - * @generated - */ - public Adapter createInterferometryPayloadAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U - * @generated - */ - public Adapter createCubeSat3UAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat6U - * @generated - */ - public Adapter createCubeSat6UAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat - * @generated - */ - public Adapter createSmallSatAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link hu.bme.mit.inf.dslreasoner.domains.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 hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat - * @generated - */ - public Adapter createCubeSatAdapter() { - 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/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteSwitch.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteSwitch.java deleted file mode 100644 index 08180b64..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/util/SatelliteSwitch.java +++ /dev/null @@ -1,404 +0,0 @@ -/** - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.util; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.*; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.util.Switch; - -/** - * - * 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 hu.bme.mit.inf.dslreasoner.domains.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.DIRECTED_COMMUNICATION_LINK: { - DirectedCommunicationLink directedCommunicationLink = (DirectedCommunicationLink) theEObject; - T result = caseDirectedCommunicationLink(directedCommunicationLink); - 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; - } - 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 'Directed Communication Link'. - * - * 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 'Directed Communication Link'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseDirectedCommunicationLink(DirectedCommunicationLink 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 '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/ecore-gen/satellite/AntennaGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/AntennaGain.java index 75bc548d..c4cdfbf6 100644 --- 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 @@ -51,10 +51,6 @@ public enum AntennaGain implements Enumerator { /** * The 'LOW' literal value. * - *

- * If the meaning of 'LOW' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #LOW * @model @@ -66,10 +62,6 @@ public enum AntennaGain implements Enumerator { /** * The 'MEDIUM' literal value. * - *

- * If the meaning of 'MEDIUM' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #MEDIUM * @model @@ -81,10 +73,6 @@ public enum AntennaGain implements Enumerator { /** * The 'HIGH' literal value. * - *

- * If the meaning of 'HIGH' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #HIGH * @model 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 index 072a9705..2c9a5e2c 100644 --- 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 @@ -9,75 +9,11 @@ import org.eclipse.emf.ecore.EObject; * A representation of the model object 'Comm Subsystem'. * * - *

- * The following features are supported: - *

- *
    - *
  • {@link satellite.CommSubsystem#getBand Band}
  • - *
  • {@link satellite.CommSubsystem#getGain Gain}
  • - *
* * @see satellite.SatellitePackage#getCommSubsystem() - * @model + * @model abstract="true" * @generated */ public interface CommSubsystem extends EObject { - /** - * Returns the value of the 'Band' attribute. - * The literals are from the enumeration {@link satellite.TransceiverBand}. - * - *

- * If the meaning of the 'Band' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Band' attribute. - * @see satellite.TransceiverBand - * @see #setBand(TransceiverBand) - * @see satellite.SatellitePackage#getCommSubsystem_Band() - * @model required="true" - * @generated - */ - TransceiverBand getBand(); - - /** - * Sets the value of the '{@link satellite.CommSubsystem#getBand Band}' attribute. - * - * - * @param value the new value of the 'Band' attribute. - * @see satellite.TransceiverBand - * @see #getBand() - * @generated - */ - void setBand(TransceiverBand value); - - /** - * Returns the value of the 'Gain' attribute. - * The literals are from the enumeration {@link satellite.AntennaGain}. - * - *

- * If the meaning of the 'Gain' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Gain' attribute. - * @see satellite.AntennaGain - * @see #setGain(AntennaGain) - * @see satellite.SatellitePackage#getCommSubsystem_Gain() - * @model required="true" - * @generated - */ - AntennaGain getGain(); - - /** - * Sets the value of the '{@link satellite.CommSubsystem#getGain Gain}' attribute. - * - * - * @param value the new value of the 'Gain' attribute. - * @see satellite.AntennaGain - * @see #getGain() - * @generated - */ - void setGain(AntennaGain 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 index b96b281f..d2f1e984 100644 --- 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 @@ -28,10 +28,6 @@ public interface CommunicatingElement extends EObject { * Returns the value of the 'Comm Subsystem' containment reference list. * The list contents are of type {@link satellite.CommSubsystem}. * - *

- * If the meaning of the 'Comm Subsystem' containment reference list isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Comm Subsystem' containment reference list. * @see satellite.SatellitePackage#getCommunicatingElement_CommSubsystem() @@ -43,10 +39,6 @@ public interface CommunicatingElement extends EObject { /** * Returns the value of the 'Communication Link' containment reference. * - *

- * If the meaning of the 'Communication Link' containment reference isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Communication Link' containment reference. * @see #setCommunicationLink(DirectedCommunicationLink) 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 index 9402232d..6182d7ad 100644 --- 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 @@ -27,10 +27,6 @@ public interface ConstellationMission extends EObject { /** * Returns the value of the 'Ground Station Network' containment reference. * - *

- * If the meaning of the 'Ground Station Network' containment reference isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Ground Station Network' containment reference. * @see #setGroundStationNetwork(GroundStationNetwork) @@ -54,10 +50,6 @@ public interface ConstellationMission extends EObject { * Returns the value of the 'Spacecraft' containment reference list. * The list contents are of type {@link satellite.Spacecraft}. * - *

- * If the meaning of the 'Spacecraft' containment reference list isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Spacecraft' containment reference list. * @see satellite.SatellitePackage#getConstellationMission_Spacecraft() 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 index 5758e165..c68bf52c 100644 --- 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 @@ -12,5 +12,5 @@ package satellite; * @model * @generated */ -public interface CubeSat3U extends Spacecraft { +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 index a8d8830f..5ade601a 100644 --- 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 @@ -12,5 +12,5 @@ package satellite; * @model * @generated */ -public interface CubeSat6U extends Spacecraft { +public interface CubeSat6U extends CubeSat { } // CubeSat6U diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java index 67c8fcc8..dc76d466 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/DirectedCommunicationLink.java @@ -25,10 +25,6 @@ public interface DirectedCommunicationLink extends EObject { /** * Returns the value of the 'Source' reference. * - *

- * If the meaning of the 'Source' reference isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Source' reference. * @see #setSource(CommSubsystem) @@ -51,10 +47,6 @@ public interface DirectedCommunicationLink extends EObject { /** * Returns the value of the 'Target' reference. * - *

- * If the meaning of the 'Target' reference isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Target' reference. * @see #setTarget(CommSubsystem) 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 index 967923d4..eb4ea064 100644 --- 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 @@ -23,10 +23,6 @@ public interface InterferometryMission extends ConstellationMission { * Returns the value of the 'Observation Time' attribute. * The default value is "2.0". * - *

- * If the meaning of the 'Observation Time' attribute isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Observation Time' attribute. * @see #setObservationTime(float) 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/SatelliteFactory.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/SatelliteFactory.java index 04cb80ce..26182881 100644 --- 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 @@ -39,15 +39,6 @@ public interface SatelliteFactory extends EFactory { */ GroundStationNetwork createGroundStationNetwork(); - /** - * Returns a new object of class 'Comm Subsystem'. - * - * - * @return a new object of class 'Comm Subsystem'. - * @generated - */ - CommSubsystem createCommSubsystem(); - /** * Returns a new object of class 'Directed Communication Link'. * @@ -93,6 +84,33 @@ public interface SatelliteFactory extends EFactory { */ 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. * 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 index f0d80ac2..8a9328f6 100644 --- 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 @@ -4,7 +4,6 @@ package satellite; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; @@ -22,7 +21,6 @@ import org.eclipse.emf.ecore.EReference; * * @see satellite.SatelliteFactory * @model kind="package" - * annotation="http://www.eclipse.org/emf/2002/Ecore settingDelegates='org.eclipse.viatra.query.querybasedfeature'" * @generated */ public interface SatellitePackage extends EPackage { @@ -288,15 +286,6 @@ public interface SatellitePackage extends EPackage { */ int SPACECRAFT__PAYLOAD = COMMUNICATING_ELEMENT_FEATURE_COUNT + 0; - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int SPACECRAFT__KIND = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1; - /** * The number of structural features of the 'Spacecraft' class. * @@ -304,7 +293,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 2; + int SPACECRAFT_FEATURE_COUNT = COMMUNICATING_ELEMENT_FEATURE_COUNT + 1; /** * The number of operations of the 'Spacecraft' class. @@ -325,24 +314,6 @@ public interface SatellitePackage extends EPackage { */ int COMM_SUBSYSTEM = 5; - /** - * The feature id for the 'Band' attribute. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM__BAND = 0; - - /** - * The feature id for the 'Gain' attribute. - * - * - * @generated - * @ordered - */ - int COMM_SUBSYSTEM__GAIN = 1; - /** * The number of structural features of the 'Comm Subsystem' class. * @@ -350,7 +321,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int COMM_SUBSYSTEM_FEATURE_COUNT = 2; + int COMM_SUBSYSTEM_FEATURE_COUNT = 0; /** * The number of operations of the 'Comm Subsystem' class. @@ -464,14 +435,14 @@ public interface SatellitePackage extends EPackage { int INTERFEROMETRY_PAYLOAD_OPERATION_COUNT = PAYLOAD_OPERATION_COUNT + 0; /** - * The meta object id for the '{@link satellite.impl.CubeSat3UImpl Cube Sat3 U}' class. + * The meta object id for the '{@link satellite.impl.CubeSatImpl Cube Sat}' class. * * - * @see satellite.impl.CubeSat3UImpl - * @see satellite.impl.SatellitePackageImpl#getCubeSat3U() + * @see satellite.impl.CubeSatImpl + * @see satellite.impl.SatellitePackageImpl#getCubeSat() * @generated */ - int CUBE_SAT3_U = 9; + int CUBE_SAT = 12; /** * The feature id for the 'Comm Subsystem' containment reference list. @@ -480,7 +451,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT3_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; + int CUBE_SAT__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; /** * The feature id for the 'Communication Link' containment reference. @@ -489,7 +460,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT3_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; + int CUBE_SAT__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; /** * The feature id for the 'Payload' containment reference. @@ -498,16 +469,62 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT3_U__PAYLOAD = SPACECRAFT__PAYLOAD; + 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 feature id for the 'Kind' attribute. + * The number of operations of the 'Cube Sat' class. * * * @generated * @ordered */ - int CUBE_SAT3_U__KIND = SPACECRAFT__KIND; + 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 = 9; + + /** + * 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 'Communication Link' containment reference. + * + * + * @generated + * @ordered + */ + int CUBE_SAT3_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; + + /** + * 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. @@ -516,7 +533,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT3_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; + int CUBE_SAT3_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; /** * The number of operations of the 'Cube Sat3 U' class. @@ -525,7 +542,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT3_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; + 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. @@ -544,7 +561,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT6_U__COMM_SUBSYSTEM = SPACECRAFT__COMM_SUBSYSTEM; + int CUBE_SAT6_U__COMM_SUBSYSTEM = CUBE_SAT__COMM_SUBSYSTEM; /** * The feature id for the 'Communication Link' containment reference. @@ -553,7 +570,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT6_U__COMMUNICATION_LINK = SPACECRAFT__COMMUNICATION_LINK; + int CUBE_SAT6_U__COMMUNICATION_LINK = CUBE_SAT__COMMUNICATION_LINK; /** * The feature id for the 'Payload' containment reference. @@ -562,16 +579,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT6_U__PAYLOAD = SPACECRAFT__PAYLOAD; - - /** - * The feature id for the 'Kind' attribute. - * - * - * @generated - * @ordered - */ - int CUBE_SAT6_U__KIND = SPACECRAFT__KIND; + int CUBE_SAT6_U__PAYLOAD = CUBE_SAT__PAYLOAD; /** * The number of structural features of the 'Cube Sat6 U' class. @@ -580,7 +588,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT6_U_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; + int CUBE_SAT6_U_FEATURE_COUNT = CUBE_SAT_FEATURE_COUNT + 0; /** * The number of operations of the 'Cube Sat6 U' class. @@ -589,7 +597,7 @@ public interface SatellitePackage extends EPackage { * @generated * @ordered */ - int CUBE_SAT6_U_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; + int CUBE_SAT6_U_OPERATION_COUNT = CUBE_SAT_OPERATION_COUNT + 0; /** * The meta object id for the '{@link satellite.impl.SmallSatImpl Small Sat}' class. @@ -629,61 +637,106 @@ public interface SatellitePackage extends EPackage { int SMALL_SAT__PAYLOAD = SPACECRAFT__PAYLOAD; /** - * The feature id for the 'Kind' attribute. + * The number of structural features of the 'Small Sat' class. * * * @generated * @ordered */ - int SMALL_SAT__KIND = SPACECRAFT__KIND; + int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; /** - * The number of structural features of the 'Small Sat' class. + * The number of operations of the 'Small Sat' class. * * * @generated * @ordered */ - int SMALL_SAT_FEATURE_COUNT = SPACECRAFT_FEATURE_COUNT + 0; + int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; /** - * The number of operations of the 'Small Sat' class. + * 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 = 13; + + /** + * The number of structural features of the 'UHF Comm Subsystem' class. * * * @generated * @ordered */ - int SMALL_SAT_OPERATION_COUNT = SPACECRAFT_OPERATION_COUNT + 0; + int UHF_COMM_SUBSYSTEM_FEATURE_COUNT = COMM_SUBSYSTEM_FEATURE_COUNT + 0; /** - * The meta object id for the '{@link satellite.TransceiverBand Transceiver Band}' enum. + * The number of operations of the 'UHF Comm Subsystem' class. * * - * @see satellite.TransceiverBand - * @see satellite.impl.SatellitePackageImpl#getTransceiverBand() * @generated + * @ordered */ - int TRANSCEIVER_BAND = 12; + int UHF_COMM_SUBSYSTEM_OPERATION_COUNT = COMM_SUBSYSTEM_OPERATION_COUNT + 0; /** - * The meta object id for the '{@link satellite.AntennaGain Antenna Gain}' enum. + * The meta object id for the '{@link satellite.impl.XCommSubsystemImpl XComm Subsystem}' class. * * - * @see satellite.AntennaGain - * @see satellite.impl.SatellitePackageImpl#getAntennaGain() + * @see satellite.impl.XCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem() * @generated */ - int ANTENNA_GAIN = 13; + int XCOMM_SUBSYSTEM = 14; /** - * The meta object id for the '{@link satellite.SpacecraftKind Spacecraft Kind}' enum. + * The number of structural features of the 'XComm Subsystem' class. * * - * @see satellite.SpacecraftKind - * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind() * @generated + * @ordered */ - int SPACECRAFT_KIND = 14; + 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 = 15; + + /** + * 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}'. @@ -801,17 +854,6 @@ public interface SatellitePackage extends EPackage { */ EReference getSpacecraft_Payload(); - /** - * Returns the meta object for the attribute '{@link satellite.Spacecraft#getKind Kind}'. - * - * - * @return the meta object for the attribute 'Kind'. - * @see satellite.Spacecraft#getKind() - * @see #getSpacecraft() - * @generated - */ - EAttribute getSpacecraft_Kind(); - /** * Returns the meta object for class '{@link satellite.CommSubsystem Comm Subsystem}'. * @@ -822,28 +864,6 @@ public interface SatellitePackage extends EPackage { */ EClass getCommSubsystem(); - /** - * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getBand Band}'. - * - * - * @return the meta object for the attribute 'Band'. - * @see satellite.CommSubsystem#getBand() - * @see #getCommSubsystem() - * @generated - */ - EAttribute getCommSubsystem_Band(); - - /** - * Returns the meta object for the attribute '{@link satellite.CommSubsystem#getGain Gain}'. - * - * - * @return the meta object for the attribute 'Gain'. - * @see satellite.CommSubsystem#getGain() - * @see #getCommSubsystem() - * @generated - */ - EAttribute getCommSubsystem_Gain(); - /** * Returns the meta object for class '{@link satellite.DirectedCommunicationLink Directed Communication Link}'. * @@ -927,34 +947,44 @@ public interface SatellitePackage extends EPackage { EClass getSmallSat(); /** - * Returns the meta object for enum '{@link satellite.TransceiverBand Transceiver Band}'. + * Returns the meta object for class '{@link satellite.CubeSat Cube Sat}'. * * - * @return the meta object for enum 'Transceiver Band'. - * @see satellite.TransceiverBand + * @return the meta object for class 'Cube Sat'. + * @see satellite.CubeSat * @generated */ - EEnum getTransceiverBand(); + EClass getCubeSat(); /** - * Returns the meta object for enum '{@link satellite.AntennaGain Antenna Gain}'. + * Returns the meta object for class '{@link satellite.UHFCommSubsystem UHF Comm Subsystem}'. * * - * @return the meta object for enum 'Antenna Gain'. - * @see satellite.AntennaGain + * @return the meta object for class 'UHF Comm Subsystem'. + * @see satellite.UHFCommSubsystem * @generated */ - EEnum getAntennaGain(); + EClass getUHFCommSubsystem(); /** - * Returns the meta object for enum '{@link satellite.SpacecraftKind Spacecraft Kind}'. + * Returns the meta object for class '{@link satellite.XCommSubsystem XComm Subsystem}'. * * - * @return the meta object for enum 'Spacecraft Kind'. - * @see satellite.SpacecraftKind + * @return the meta object for class 'XComm Subsystem'. + * @see satellite.XCommSubsystem * @generated */ - EEnum getSpacecraftKind(); + 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. @@ -1078,14 +1108,6 @@ public interface SatellitePackage extends EPackage { */ EReference SPACECRAFT__PAYLOAD = eINSTANCE.getSpacecraft_Payload(); - /** - * The meta object literal for the 'Kind' attribute feature. - * - * - * @generated - */ - EAttribute SPACECRAFT__KIND = eINSTANCE.getSpacecraft_Kind(); - /** * The meta object literal for the '{@link satellite.impl.CommSubsystemImpl Comm Subsystem}' class. * @@ -1096,22 +1118,6 @@ public interface SatellitePackage extends EPackage { */ EClass COMM_SUBSYSTEM = eINSTANCE.getCommSubsystem(); - /** - * The meta object literal for the 'Band' attribute feature. - * - * - * @generated - */ - EAttribute COMM_SUBSYSTEM__BAND = eINSTANCE.getCommSubsystem_Band(); - - /** - * The meta object literal for the 'Gain' attribute feature. - * - * - * @generated - */ - EAttribute COMM_SUBSYSTEM__GAIN = eINSTANCE.getCommSubsystem_Gain(); - /** * The meta object literal for the '{@link satellite.impl.DirectedCommunicationLinkImpl Directed Communication Link}' class. * @@ -1189,34 +1195,44 @@ public interface SatellitePackage extends EPackage { EClass SMALL_SAT = eINSTANCE.getSmallSat(); /** - * The meta object literal for the '{@link satellite.TransceiverBand Transceiver Band}' enum. + * 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.TransceiverBand - * @see satellite.impl.SatellitePackageImpl#getTransceiverBand() + * @see satellite.impl.UHFCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getUHFCommSubsystem() * @generated */ - EEnum TRANSCEIVER_BAND = eINSTANCE.getTransceiverBand(); + EClass UHF_COMM_SUBSYSTEM = eINSTANCE.getUHFCommSubsystem(); /** - * The meta object literal for the '{@link satellite.AntennaGain Antenna Gain}' enum. + * The meta object literal for the '{@link satellite.impl.XCommSubsystemImpl XComm Subsystem}' class. * * - * @see satellite.AntennaGain - * @see satellite.impl.SatellitePackageImpl#getAntennaGain() + * @see satellite.impl.XCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getXCommSubsystem() * @generated */ - EEnum ANTENNA_GAIN = eINSTANCE.getAntennaGain(); + EClass XCOMM_SUBSYSTEM = eINSTANCE.getXCommSubsystem(); /** - * The meta object literal for the '{@link satellite.SpacecraftKind Spacecraft Kind}' enum. + * The meta object literal for the '{@link satellite.impl.KaCommSubsystemImpl Ka Comm Subsystem}' class. * * - * @see satellite.SpacecraftKind - * @see satellite.impl.SatellitePackageImpl#getSpacecraftKind() + * @see satellite.impl.KaCommSubsystemImpl + * @see satellite.impl.SatellitePackageImpl#getKaCommSubsystem() * @generated */ - EEnum SPACECRAFT_KIND = eINSTANCE.getSpacecraftKind(); + EClass KA_COMM_SUBSYSTEM = eINSTANCE.getKaCommSubsystem(); } 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 index d8775572..b0a2754e 100644 --- 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 @@ -12,7 +12,6 @@ package satellite; *

*
    *
  • {@link satellite.Spacecraft#getPayload Payload}
  • - *
  • {@link satellite.Spacecraft#getKind Kind}
  • *
* * @see satellite.SatellitePackage#getSpacecraft() @@ -23,10 +22,6 @@ public interface Spacecraft extends CommunicatingElement { /** * Returns the value of the 'Payload' containment reference. * - *

- * If the meaning of the 'Payload' containment reference isn't clear, - * there really should be more of a description here... - *

* * @return the value of the 'Payload' containment reference. * @see #setPayload(Payload) @@ -46,22 +41,4 @@ public interface Spacecraft extends CommunicatingElement { */ void setPayload(Payload value); - /** - * Returns the value of the 'Kind' attribute. - * The literals are from the enumeration {@link satellite.SpacecraftKind}. - * - *

- * If the meaning of the 'Kind' attribute isn't clear, - * there really should be more of a description here... - *

- * - * @return the value of the 'Kind' attribute. - * @see satellite.SpacecraftKind - * @see satellite.SatellitePackage#getSpacecraft_Kind() - * @model required="true" transient="true" changeable="false" volatile="true" derived="true" - * annotation="org.eclipse.viatra.query.querybasedfeature patternFQN='hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind'" - * @generated - */ - SpacecraftKind getKind(); - } // 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 index 40bb432d..76232414 100644 --- 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 @@ -51,10 +51,6 @@ public enum SpacecraftKind implements Enumerator { /** * The 'Cube Sat3 U' literal value. * - *

- * If the meaning of 'Cube Sat3 U' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #CUBE_SAT3_U * @model name="CubeSat3U" @@ -66,10 +62,6 @@ public enum SpacecraftKind implements Enumerator { /** * The 'Cube Sat6 U' literal value. * - *

- * If the meaning of 'Cube Sat6 U' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #CUBE_SAT6_U * @model name="CubeSat6U" @@ -81,10 +73,6 @@ public enum SpacecraftKind implements Enumerator { /** * The 'Small Sat' literal value. * - *

- * If the meaning of 'Small Sat' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #SMALL_SAT * @model name="SmallSat" 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 index b6be75bf..9d8d5697 100644 --- 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 @@ -51,10 +51,6 @@ public enum TransceiverBand implements Enumerator { /** * The 'UHF' literal value. * - *

- * If the meaning of 'UHF' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #UHF * @model @@ -66,10 +62,6 @@ public enum TransceiverBand implements Enumerator { /** * The 'X' literal value. * - *

- * If the meaning of 'X' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #X * @model @@ -81,10 +73,6 @@ public enum TransceiverBand implements Enumerator { /** * The 'Ka' literal value. * - *

- * If the meaning of 'Ka' literal object isn't clear, - * there really should be more of a description here... - *

* * @see #KA * @model name="Ka" 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 index cf8f1fe8..cae35a0c 100644 --- 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 @@ -2,73 +2,19 @@ */ package satellite.impl; -import org.eclipse.emf.common.notify.Notification; - import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import satellite.AntennaGain; import satellite.CommSubsystem; import satellite.SatellitePackage; -import satellite.TransceiverBand; /** * * An implementation of the model object 'Comm Subsystem'. * - *

- * The following features are implemented: - *

- *
    - *
  • {@link satellite.impl.CommSubsystemImpl#getBand Band}
  • - *
  • {@link satellite.impl.CommSubsystemImpl#getGain Gain}
  • - *
* * @generated */ -public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { - /** - * The default value of the '{@link #getBand() Band}' attribute. - * - * - * @see #getBand() - * @generated - * @ordered - */ - protected static final TransceiverBand BAND_EDEFAULT = TransceiverBand.UHF; - - /** - * The cached value of the '{@link #getBand() Band}' attribute. - * - * - * @see #getBand() - * @generated - * @ordered - */ - protected TransceiverBand band = BAND_EDEFAULT; - - /** - * The default value of the '{@link #getGain() Gain}' attribute. - * - * - * @see #getGain() - * @generated - * @ordered - */ - protected static final AntennaGain GAIN_EDEFAULT = AntennaGain.LOW; - - /** - * The cached value of the '{@link #getGain() Gain}' attribute. - * - * - * @see #getGain() - * @generated - * @ordered - */ - protected AntennaGain gain = GAIN_EDEFAULT; - +public abstract class CommSubsystemImpl extends MinimalEObjectImpl.Container implements CommSubsystem { /** * * @@ -88,139 +34,4 @@ public class CommSubsystemImpl extends MinimalEObjectImpl.Container implements C return SatellitePackage.Literals.COMM_SUBSYSTEM; } - /** - * - * - * @generated - */ - @Override - public TransceiverBand getBand() { - return band; - } - - /** - * - * - * @generated - */ - @Override - public void setBand(TransceiverBand newBand) { - TransceiverBand oldBand = band; - band = newBand == null ? BAND_EDEFAULT : newBand; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__BAND, oldBand, - band)); - } - - /** - * - * - * @generated - */ - @Override - public AntennaGain getGain() { - return gain; - } - - /** - * - * - * @generated - */ - @Override - public void setGain(AntennaGain newGain) { - AntennaGain oldGain = gain; - gain = newGain == null ? GAIN_EDEFAULT : newGain; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SatellitePackage.COMM_SUBSYSTEM__GAIN, oldGain, - gain)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - return getBand(); - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - return getGain(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - setBand((TransceiverBand) newValue); - return; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - setGain((AntennaGain) newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - setBand(BAND_EDEFAULT); - return; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - setGain(GAIN_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SatellitePackage.COMM_SUBSYSTEM__BAND: - return band != BAND_EDEFAULT; - case SatellitePackage.COMM_SUBSYSTEM__GAIN: - return gain != GAIN_EDEFAULT; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) - return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (band: "); - result.append(band); - result.append(", gain: "); - result.append(gain); - result.append(')'); - return result.toString(); - } - } //CommSubsystemImpl 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 index a7ba37a7..350a9bcc 100644 --- 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 @@ -14,7 +14,7 @@ import satellite.SatellitePackage; * * @generated */ -public class CubeSat3UImpl extends SpacecraftImpl implements CubeSat3U { +public class CubeSat3UImpl extends CubeSatImpl implements CubeSat3U { /** * * 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 index d4f42e6c..3b9c5988 100644 --- 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 @@ -14,7 +14,7 @@ import satellite.SatellitePackage; * * @generated */ -public class CubeSat6UImpl extends SpacecraftImpl implements CubeSat6U { +public class CubeSat6UImpl extends CubeSatImpl implements CubeSat6U { /** * * 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/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/SatelliteFactoryImpl.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/ecore-gen/satellite/impl/SatelliteFactoryImpl.java index e899dc79..135527c6 100644 --- 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 @@ -3,7 +3,6 @@ package satellite.impl; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; @@ -61,8 +60,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto return createInterferometryMission(); case SatellitePackage.GROUND_STATION_NETWORK: return createGroundStationNetwork(); - case SatellitePackage.COMM_SUBSYSTEM: - return createCommSubsystem(); case SatellitePackage.DIRECTED_COMMUNICATION_LINK: return createDirectedCommunicationLink(); case SatellitePackage.INTERFEROMETRY_PAYLOAD: @@ -73,49 +70,17 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto 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 Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case SatellitePackage.TRANSCEIVER_BAND: - return createTransceiverBandFromString(eDataType, initialValue); - case SatellitePackage.ANTENNA_GAIN: - return createAntennaGainFromString(eDataType, initialValue); - case SatellitePackage.SPACECRAFT_KIND: - return createSpacecraftKindFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case SatellitePackage.TRANSCEIVER_BAND: - return convertTransceiverBandToString(eDataType, instanceValue); - case SatellitePackage.ANTENNA_GAIN: - return convertAntennaGainToString(eDataType, instanceValue); - case SatellitePackage.SPACECRAFT_KIND: - return convertSpacecraftKindToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - /** * * @@ -138,17 +103,6 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto return groundStationNetwork; } - /** - * - * - * @generated - */ - @Override - public CommSubsystem createCommSubsystem() { - CommSubsystemImpl commSubsystem = new CommSubsystemImpl(); - return commSubsystem; - } - /** * * @@ -209,43 +163,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto * * @generated */ - public TransceiverBand createTransceiverBandFromString(EDataType eDataType, String initialValue) { - TransceiverBand result = TransceiverBand.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertTransceiverBandToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public AntennaGain createAntennaGainFromString(EDataType eDataType, String initialValue) { - AntennaGain result = AntennaGain.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertAntennaGainToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + @Override + public UHFCommSubsystem createUHFCommSubsystem() { + UHFCommSubsystemImpl uhfCommSubsystem = new UHFCommSubsystemImpl(); + return uhfCommSubsystem; } /** @@ -253,12 +174,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto * * @generated */ - public SpacecraftKind createSpacecraftKindFromString(EDataType eDataType, String initialValue) { - SpacecraftKind result = SpacecraftKind.get(initialValue); - if (result == null) - throw new IllegalArgumentException( - "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; + @Override + public XCommSubsystem createXCommSubsystem() { + XCommSubsystemImpl xCommSubsystem = new XCommSubsystemImpl(); + return xCommSubsystem; } /** @@ -266,8 +185,10 @@ public class SatelliteFactoryImpl extends EFactoryImpl implements SatelliteFacto * * @generated */ - public String convertSpacecraftKindToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + @Override + public KaCommSubsystem createKaCommSubsystem() { + KaCommSubsystemImpl kaCommSubsystem = new KaCommSubsystemImpl(); + return kaCommSubsystem; } /** 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 index 2347fe07..daec68a9 100644 --- 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 @@ -4,29 +4,28 @@ package satellite.impl; import org.eclipse.emf.ecore.EAttribute; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.EReference; import org.eclipse.emf.ecore.impl.EPackageImpl; - -import satellite.AntennaGain; import satellite.CommSubsystem; import satellite.CommunicatingElement; import satellite.ConstellationMission; +import satellite.CubeSat; import satellite.CubeSat3U; import satellite.CubeSat6U; import satellite.DirectedCommunicationLink; 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.SpacecraftKind; -import satellite.TransceiverBand; +import satellite.UHFCommSubsystem; +import satellite.XCommSubsystem; /** * @@ -124,21 +123,28 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka * * @generated */ - private EEnum transceiverBandEEnum = null; + private EClass cubeSatEClass = null; + + /** + * + * + * @generated + */ + private EClass uhfCommSubsystemEClass = null; /** * * * @generated */ - private EEnum antennaGainEEnum = null; + private EClass xCommSubsystemEClass = null; /** * * * @generated */ - private EEnum spacecraftKindEEnum = null; + private EClass kaCommSubsystemEClass = null; /** * Creates an instance of the model Package, registered with @@ -314,16 +320,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka return (EReference) spacecraftEClass.getEStructuralFeatures().get(0); } - /** - * - * - * @generated - */ - @Override - public EAttribute getSpacecraft_Kind() { - return (EAttribute) spacecraftEClass.getEStructuralFeatures().get(1); - } - /** * * @@ -334,26 +330,6 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka return commSubsystemEClass; } - /** - * - * - * @generated - */ - @Override - public EAttribute getCommSubsystem_Band() { - return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - @Override - public EAttribute getCommSubsystem_Gain() { - return (EAttribute) commSubsystemEClass.getEStructuralFeatures().get(1); - } - /** * * @@ -440,8 +416,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka * @generated */ @Override - public EEnum getTransceiverBand() { - return transceiverBandEEnum; + public EClass getCubeSat() { + return cubeSatEClass; } /** @@ -450,8 +426,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka * @generated */ @Override - public EEnum getAntennaGain() { - return antennaGainEEnum; + public EClass getUHFCommSubsystem() { + return uhfCommSubsystemEClass; } /** @@ -460,8 +436,18 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka * @generated */ @Override - public EEnum getSpacecraftKind() { - return spacecraftKindEEnum; + public EClass getXCommSubsystem() { + return xCommSubsystemEClass; + } + + /** + * + * + * @generated + */ + @Override + public EClass getKaCommSubsystem() { + return kaCommSubsystemEClass; } /** @@ -509,11 +495,8 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka spacecraftEClass = createEClass(SPACECRAFT); createEReference(spacecraftEClass, SPACECRAFT__PAYLOAD); - createEAttribute(spacecraftEClass, SPACECRAFT__KIND); commSubsystemEClass = createEClass(COMM_SUBSYSTEM); - createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__BAND); - createEAttribute(commSubsystemEClass, COMM_SUBSYSTEM__GAIN); directedCommunicationLinkEClass = createEClass(DIRECTED_COMMUNICATION_LINK); createEReference(directedCommunicationLinkEClass, DIRECTED_COMMUNICATION_LINK__SOURCE); @@ -529,10 +512,13 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka smallSatEClass = createEClass(SMALL_SAT); - // Create enums - transceiverBandEEnum = createEEnum(TRANSCEIVER_BAND); - antennaGainEEnum = createEEnum(ANTENNA_GAIN); - spacecraftKindEEnum = createEEnum(SPACECRAFT_KIND); + cubeSatEClass = createEClass(CUBE_SAT); + + uhfCommSubsystemEClass = createEClass(UHF_COMM_SUBSYSTEM); + + xCommSubsystemEClass = createEClass(XCOMM_SUBSYSTEM); + + kaCommSubsystemEClass = createEClass(KA_COMM_SUBSYSTEM); } /** @@ -568,9 +554,13 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka groundStationNetworkEClass.getESuperTypes().add(this.getCommunicatingElement()); spacecraftEClass.getESuperTypes().add(this.getCommunicatingElement()); interferometryPayloadEClass.getESuperTypes().add(this.getPayload()); - cubeSat3UEClass.getESuperTypes().add(this.getSpacecraft()); - cubeSat6UEClass.getESuperTypes().add(this.getSpacecraft()); + 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, @@ -605,15 +595,9 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka 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); - initEAttribute(getSpacecraft_Kind(), this.getSpacecraftKind(), "kind", null, 1, 1, Spacecraft.class, - IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, + initEClass(commSubsystemEClass, CommSubsystem.class, "CommSubsystem", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getCommSubsystem_Band(), this.getTransceiverBand(), "band", null, 1, 1, CommSubsystem.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getCommSubsystem_Gain(), this.getAntennaGain(), "gain", null, 1, 1, CommSubsystem.class, - !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEClass(directedCommunicationLinkEClass, DirectedCommunicationLink.class, "DirectedCommunicationLink", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); @@ -638,53 +622,19 @@ public class SatellitePackageImpl extends EPackageImpl implements SatellitePacka initEClass(smallSatEClass, SmallSat.class, "SmallSat", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - // Initialize enums and add enum literals - initEEnum(transceiverBandEEnum, TransceiverBand.class, "TransceiverBand"); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.UHF); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.X); - addEEnumLiteral(transceiverBandEEnum, TransceiverBand.KA); + initEClass(cubeSatEClass, CubeSat.class, "CubeSat", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEEnum(antennaGainEEnum, AntennaGain.class, "AntennaGain"); - addEEnumLiteral(antennaGainEEnum, AntennaGain.LOW); - addEEnumLiteral(antennaGainEEnum, AntennaGain.MEDIUM); - addEEnumLiteral(antennaGainEEnum, AntennaGain.HIGH); + initEClass(uhfCommSubsystemEClass, UHFCommSubsystem.class, "UHFCommSubsystem", !IS_ABSTRACT, !IS_INTERFACE, + IS_GENERATED_INSTANCE_CLASS); - initEEnum(spacecraftKindEEnum, SpacecraftKind.class, "SpacecraftKind"); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT3_U); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.CUBE_SAT6_U); - addEEnumLiteral(spacecraftKindEEnum, SpacecraftKind.SMALL_SAT); + 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); - - // Create annotations - // http://www.eclipse.org/emf/2002/Ecore - createEcoreAnnotations(); - // org.eclipse.viatra.query.querybasedfeature - createOrgAnnotations(); - } - - /** - * Initializes the annotations for http://www.eclipse.org/emf/2002/Ecore. - * - * - * @generated - */ - protected void createEcoreAnnotations() { - String source = "http://www.eclipse.org/emf/2002/Ecore"; - addAnnotation(this, source, new String[] { "settingDelegates", "org.eclipse.viatra.query.querybasedfeature" }); - } - - /** - * Initializes the annotations for org.eclipse.viatra.query.querybasedfeature. - * - * - * @generated - */ - protected void createOrgAnnotations() { - String source = "org.eclipse.viatra.query.querybasedfeature"; - addAnnotation(getSpacecraft_Kind(), source, - new String[] { "patternFQN", "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind" }); } } //SatellitePackageImpl 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 index 73609fbd..58f5d069 100644 --- 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 @@ -6,7 +6,6 @@ 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.EStructuralFeature; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; @@ -14,7 +13,6 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import satellite.Payload; import satellite.SatellitePackage; import satellite.Spacecraft; -import satellite.SpacecraftKind; /** * @@ -25,7 +23,6 @@ import satellite.SpacecraftKind; *

*
    *
  • {@link satellite.impl.SpacecraftImpl#getPayload Payload}
  • - *
  • {@link satellite.impl.SpacecraftImpl#getKind Kind}
  • *
* * @generated @@ -41,17 +38,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements */ protected Payload payload; - /** - * The cached setting delegate for the '{@link #getKind() Kind}' attribute. - * - * - * @see #getKind() - * @generated - * @ordered - */ - protected EStructuralFeature.Internal.SettingDelegate KIND__ESETTING_DELEGATE = ((EStructuralFeature.Internal) SatellitePackage.Literals.SPACECRAFT__KIND) - .getSettingDelegate(); - /** * * @@ -123,16 +109,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements newPayload)); } - /** - * - * - * @generated - */ - @Override - public SpacecraftKind getKind() { - return (SpacecraftKind) KIND__ESETTING_DELEGATE.dynamicGet(this, null, 0, true, false); - } - /** * * @@ -157,8 +133,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements switch (featureID) { case SatellitePackage.SPACECRAFT__PAYLOAD: return getPayload(); - case SatellitePackage.SPACECRAFT__KIND: - return getKind(); } return super.eGet(featureID, resolve, coreType); } @@ -203,8 +177,6 @@ public abstract class SpacecraftImpl extends CommunicatingElementImpl implements switch (featureID) { case SatellitePackage.SPACECRAFT__PAYLOAD: return payload != null; - case SatellitePackage.SPACECRAFT__KIND: - return KIND__ESETTING_DELEGATE.dynamicIsSet(this, null, 0); } return super.eIsSet(featureID); } 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 index 1ecf7b19..84ddf263 100644 --- 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 @@ -126,6 +126,26 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl { 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(); @@ -313,6 +333,62 @@ public class SatelliteAdapterFactory extends AdapterFactoryImpl { 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. * 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 index 3eb78d75..6975d851 100644 --- 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 @@ -140,6 +140,8 @@ public class SatelliteSwitch extends Switch { 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) @@ -151,6 +153,8 @@ public class SatelliteSwitch extends Switch { 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) @@ -170,6 +174,44 @@ public class SatelliteSwitch extends Switch { 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); } @@ -355,6 +397,66 @@ public class SatelliteSwitch extends Switch { 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'. * 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 index 9431d981..7b8e355a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi @@ -7,10 +7,8 @@ xsi:schemaLocation="http://www.example.org/satellite ../model/satellite.ecore"> + xsi:type="satellite:XCommSubsystem"/> + xsi:type="satellite:KaCommSubsystem"/> diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv new file mode 100644 index 00000000..b5578ae8 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-data-steps.csv @@ -0,0 +1,145 @@ +NFE, Elapsed Time, Approximation Set, Population, Population Size +25, 1.891789696, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +50, 2.586708782, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +75, 3.2109932480000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +100, 3.755158208, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +125, 4.238918802000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +150, 4.7050757370000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +175, 5.2712747900000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +200, 5.808632395, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +225, 6.281898818, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +250, 6.614350584, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +275, 7.083502681000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +300, 7.426119055, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +325, 7.941173648, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +350, 8.319613926, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +375, 8.730843491, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +400, 9.013722178, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +425, 9.443927308000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +450, 9.750104678000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +475, 10.129727031, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +500, 10.448347054000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +525, 10.735080266, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +550, 11.190916156, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +575, 11.633786536, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +600, 12.021543378, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +625, 12.544638568000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +650, 12.845640665000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +675, 13.122804784000001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +700, 13.396689107, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +725, 13.837233090000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +750, 14.115298167, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +775, 14.388343172, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +800, 14.826446569000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +825, 15.109539416, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +850, 15.388781908, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +875, 15.811032095000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +900, 16.224146467, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +925, 16.609006308, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +950, 16.911202402, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +975, 17.351199716, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1000, 17.726844683, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1025, 18.004694833000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1050, 18.275873235000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1075, 18.723853517000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1100, 19.006602448000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1125, 19.27602452, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1150, 19.546914792000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1175, 20.063555527000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1200, 20.4503214, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1225, 20.812025281, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1250, 21.372619142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1275, 22.044064458, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1300, 22.541792224, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1325, 22.979074876000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1350, 23.722393477, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1375, 24.210281178000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1400, 24.597108146, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1425, 24.962990538000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1450, 25.449476537000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1475, 25.735480272, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1500, 26.017771945000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1525, 26.503268108, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1550, 26.875246388, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1575, 27.277011053000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1600, 27.920554676000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1625, 28.350389968, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1650, 28.746870958000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1675, 29.399911038000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1700, 29.705655292000003, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1725, 30.222917600000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1750, 30.582687885000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1775, 30.930680467000002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1800, 31.401464999, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1825, 31.71501731, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1850, 32.118626995, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1875, 32.522417332, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1900, 32.888226244, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1925, 33.340297764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1950, 33.78173228, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +1975, 34.213199421, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2000, 34.6389604, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2025, 35.068572284000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2050, 35.598090496000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2075, 36.029981973000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2100, 36.410860302, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2125, 36.845392142, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2150, 37.220125764, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2175, 37.633310576, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2200, 38.105014037000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2225, 38.495631925000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2250, 38.868065483, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2275, 39.31772083, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2300, 39.724176017000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2325, 40.16674348, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2350, 40.650008441000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2375, 41.092378918, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2400, 41.535670983, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2425, 42.001399116, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2450, 42.484935328000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2475, 42.911409647, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2500, 43.336942158, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2525, 43.787051396, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2550, 44.277504574000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2575, 44.76816336, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2600, 45.276457352, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2625, 45.735699625, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2650, 46.168899874000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2675, 46.593364297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2700, 47.056027297, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2725, 47.452480539, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2750, 47.84848743800001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2775, 48.296304749, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2800, 48.772881607, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2825, 49.140301813, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2850, 49.601806971, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2875, 50.036785167000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2900, 50.519073857, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2925, 50.952136413000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2950, 51.422963162, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +2975, 51.880428426, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3000, 52.325376492000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3025, 52.757666111000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3050, 53.199401996000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3075, 53.643965946, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3100, 54.042385829000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3125, 54.470351427000004, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3150, 54.911578006000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3175, 55.434332657000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3200, 55.876270659000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3225, 56.29157381700001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3250, 56.678343517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3275, 57.110165294000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3300, 61.833746227000006, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3325, 62.143060813000005, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3350, 62.487517775, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3375, 62.855227351, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3400, 63.290566593, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3425, 63.715538516, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3450, 68.23575590200001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3475, 72.71105517400001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3500, 77.068135532, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3525, 81.616801517, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3550, 90.065785465, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3575, 103.88993463300001, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 +3600, 148.72096381100002, [[1158414.6563694086][13.0]], "[[1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0], [1158414.6563694086][13.0]]", 25 \ No newline at end of file diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt new file mode 100644 index 00000000..350a6a69 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-outcome.txt @@ -0,0 +1,20 @@ + +============================================ + +Batch 0 duration: 00:02:29.245 + +-------------------------------------------- +Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi + +Objective values: +Cost: 1158414.6563694086 + +Constraint values: +PatternMatch: 13.0 + +Transformations chain: +Length: 2 +Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} + +============================================ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf new file mode 100644 index 00000000..a4823e89 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf @@ -0,0 +1 @@ +1158414.6563694086 diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore new file mode 100644 index 00000000..a58dd30e --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/mutation-operators/satellite.ecore @@ -0,0 +1,68 @@ + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi new file mode 100644 index 00000000..958b22d0 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv new file mode 100644 index 00000000..8c754932 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/experiment-data.csv @@ -0,0 +1,2 @@ +batch-id,duration,o-Cost,c-PatternMatch,solutions-found,solution-model +0,00:02:29.245,1158414.6563694086,13.0,1,./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt new file mode 100644 index 00000000..138ea309 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/satellite.mopt @@ -0,0 +1,35 @@ +problem { + basepath + metamodel + model <../inputs/SatelliteInstance.xmi> +} + +goal { + objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" } + constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" } +} + +search { + mutate using unit "addCubeSat3U" +// mutate { "CubeSat3U" } +// mutate { "CubeSat6U" } +// mutate { "SmallSat" } +// mutate { "InterferometryPayload" } +// mutate { "CommSubsystem" } +// mutate { "DirectedCommunicationLink" } +} + +solver { + optimisation provider moea algorithm NSGAII { + variation: mutation + population: 25 + mutation.step: 3 + mutation.strategy: random + } + + termination { + time: 120 + } + + batches 1 +} \ No newline at end of file diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt new file mode 100644 index 00000000..669f03b0 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshinoverall-results.txt @@ -0,0 +1,27 @@ +Average experiment time: 00:02:29.245 + +Average value for Cost objective: 1158414.6563694086 +============================================ + +============================================ + +Batch 0 duration: 00:02:29.245 + +-------------------------------------------- +Evaluation data for solution: ./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0796A23B6.xmi + +Objective values: +Cost: 1158414.6563694086 + +Constraint values: +PatternMatch: 13.0 + +Transformations chain: +Length: 2 +Sequence: {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} -> {1=addCubeSat3U, 2=addCubeSat3U, 3=addCubeSat3U} + +============================================ + +Serialized objectives saved to: /home/kris/bme/research/VIATRA-Generator/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/./mdeo-results/experiment-satellite.mopt-190525-195435-matching-henshin/batch-0/batch-0-serialized-objectives.pf +============================================ + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird deleted file mode 100644 index 31575c3c..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.aird +++ /dev/null @@ -1,2225 +0,0 @@ - - - - satellite.ecore - satellite.genmodel - ../src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - http://www.eclipse.org/emf/2002/Ecore - java:/Objects/org.eclipse.viatra.query.runtime.api.GenericPatternMatcher - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseMatcher - java:/Objects/org.eclipse.viatra.query.runtime.api.GenericPatternMatch - java:/Objects/org.eclipse.viatra.query.runtime.api.GenericQuerySpecification - java:/Objects/java.lang.Object - java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngine - java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.Tuple - java:/Objects/org.eclipse.viatra.query.runtime.internal.apiimpl.QueryResultWrapper - java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher - java:/Objects/org.eclipse.viatra.query.runtime.api.IQuerySpecification - java:/Primitives - java:/Objects/java.util.function.Consumer - java:/Objects/java.util.Collection - java:/Objects/java.lang.String - java:/Objects/java.util.Set - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IMatcherCapability - java:/Objects/java.util.Optional - java:/Objects/java.util.List - java:/Objects/java.lang.Integer - java:/Objects/java.util.stream.Stream - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryResultProvider - java:/Objects/org.eclipse.viatra.query.runtime.api.IPatternMatch - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQueryHeader - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PQuery - java:/Objects/java.lang.Class - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.QueryScope - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility - java:/Objects/java.util.function.BiConsumer - java:/Objects/java.lang.FunctionalInterface - java:/Objects/java.lang.annotation.Target - java:/Objects/java.lang.annotation.ElementType - java:/Objects/java.lang.annotation.Retention - java:/Objects/java.lang.annotation.RetentionPolicy - java:/Objects/java.lang.annotation.Documented - java:/Objects/java.lang.annotation.Annotation - java:/Objects/java.lang.Enum - java:/Objects/java.lang.Comparable - java:/Objects/java.io.Serializable - java:/Objects/java.lang.CloneNotSupportedException - java:/Objects/java.io.ObjectInputStream - java:/Objects/java.io.IOException - java:/Objects/java.lang.ClassNotFoundException - java:/Objects/java.io.ObjectStreamException - java:/Objects/java.lang.Exception - java:/Objects/java.lang.Throwable - java:/Objects/java.io.PrintWriter - java:/Objects/java.io.PrintStream - java:/Objects/java.lang.StackTraceElement - java:/Objects/java.io.ObjectOutputStream - java:/Objects/java.io.Writer - java:/Objects/java.io.OutputStream - java:/Objects/java.io.FileNotFoundException - java:/Objects/java.io.File - java:/Objects/java.nio.charset.Charset - java:/Objects/java.io.UnsupportedEncodingException - java:/Objects/java.lang.CharSequence - java:/Objects/java.util.Locale - java:/Objects/java.util.Formatter - java:/Objects/java.lang.Appendable - java:/Objects/java.io.Closeable - java:/Objects/java.io.Flushable - java:/Objects/java.lang.AutoCloseable - java:/Objects/java.security.SecureRandom - java:/Objects/java.net.URI - java:/Objects/java.io.FilenameFilter - java:/Objects/java.io.FileFilter - java:/Objects/java.nio.file.Path - java:/Objects/java.lang.Deprecated - java:/Objects/java.net.MalformedURLException - java:/Objects/java.net.URL - java:/Objects/sun.misc.Unsafe - java:/Objects/java.io.FileSystem - java:/Objects/java.util.Random - java:/Objects/java.util.regex.Pattern - java:/Objects/java.security.SecureRandomSpi - java:/Objects/java.security.Provider - java:/Objects/java.security.NoSuchAlgorithmException - java:/Objects/java.security.NoSuchProviderException - java:/Objects/java.security.MessageDigest - java:/Objects/sun.security.util.Debug - java:/Objects/java.util.Spliterator - java:/Objects/java.util.function.DoubleConsumer - java:/Objects/java.util.function.LongConsumer - java:/Objects/java.util.function.IntConsumer - java:/Objects/java.util.stream.DoubleStream - java:/Objects/java.util.stream.IntStream - java:/Objects/java.util.stream.LongStream - java:/Objects/java.util.concurrent.atomic.AtomicLong - java:/Objects/java.io.ObjectStreamField - java:/Objects/java.lang.Double - java:/Objects/java.lang.Long - java:/Objects/java.util.Comparator - java:/Objects/java.lang.Number - java:/Objects/java.lang.NumberFormatException - java:/Objects/java.lang.IllegalArgumentException - java:/Objects/java.lang.RuntimeException - java:/Objects/java.math.BigInteger - java:/Objects/java.lang.StringBuilder - java:/Objects/java.lang.AbstractStringBuilder - java:/Objects/java.lang.StringBuffer - java:/Objects/java.util.function.Function - java:/Objects/java.util.function.ToDoubleFunction - java:/Objects/java.util.function.ToIntFunction - java:/Objects/java.util.function.ToLongFunction - java:/Objects/java.util.stream.BaseStream - java:/Objects/java.util.function.DoublePredicate - java:/Objects/java.util.OptionalDouble - java:/Objects/java.util.function.Supplier - java:/Objects/java.util.function.ObjDoubleConsumer - java:/Objects/java.util.function.DoubleFunction - java:/Objects/java.util.function.DoubleSupplier - java:/Objects/java.util.function.DoubleUnaryOperator - java:/Objects/java.util.PrimitiveIterator - java:/Objects/java.util.function.DoubleToIntFunction - java:/Objects/java.util.function.DoubleToLongFunction - java:/Objects/java.util.function.DoubleBinaryOperator - java:/Objects/java.util.DoubleSummaryStatistics - java:/Objects/java.util.Iterator - java:/Objects/java.lang.Runnable - java:/Objects/java.util.function.IntPredicate - java:/Objects/java.util.function.ObjIntConsumer - java:/Objects/java.util.OptionalInt - java:/Objects/java.util.function.IntFunction - java:/Objects/java.util.function.IntSupplier - java:/Objects/java.util.function.IntUnaryOperator - java:/Objects/java.util.function.IntToDoubleFunction - java:/Objects/java.util.function.IntToLongFunction - java:/Objects/java.util.function.IntBinaryOperator - java:/Objects/java.util.IntSummaryStatistics - java:/Objects/java.util.function.LongPredicate - java:/Objects/java.util.function.ObjLongConsumer - java:/Objects/java.util.OptionalLong - java:/Objects/java.util.function.LongFunction - java:/Objects/java.util.function.LongSupplier - java:/Objects/java.util.function.LongUnaryOperator - java:/Objects/java.util.function.LongToDoubleFunction - java:/Objects/java.util.function.LongToIntFunction - java:/Objects/java.util.function.LongBinaryOperator - java:/Objects/java.util.LongSummaryStatistics - java:/Objects/java.lang.reflect.Field - java:/Objects/sun.reflect.CallerSensitive - java:/Objects/java.lang.reflect.AccessibleObject - java:/Objects/java.lang.reflect.Member - java:/Objects/sun.reflect.FieldAccessor - java:/Objects/java.util.Map - java:/Objects/java.lang.IllegalAccessException - java:/Objects/java.lang.reflect.AnnotatedType - java:/Objects/sun.reflect.generics.factory.GenericsFactory - java:/Objects/sun.reflect.generics.repository.FieldRepository - java:/Objects/java.lang.reflect.Type - java:/Objects/java.lang.reflect.AnnotatedElement - java:/Objects/java.lang.SecurityException - java:/Objects/java.security.Permission - java:/Objects/sun.reflect.ReflectionFactory - java:/Objects/java.security.Guard - java:/Objects/java.security.PermissionCollection - java:/Objects/java.util.Enumeration - java:/Objects/java.security.PrivilegedAction - java:/Objects/java.lang.reflect.Constructor - java:/Objects/java.lang.reflect.Method - java:/Objects/java.lang.invoke.MethodHandle - java:/Objects/sun.reflect.ConstructorAccessor - java:/Objects/java.lang.reflect.Executable - java:/Objects/sun.reflect.MethodAccessor - java:/Objects/sun.reflect.LangReflectAccess - java:/Objects/java.io.OptionalDataException - java:/Objects/sun.reflect.generics.repository.ConstructorRepository - java:/Objects/java.lang.reflect.TypeVariable - java:/Objects/java.lang.InstantiationException - java:/Objects/java.lang.reflect.InvocationTargetException - java:/Objects/sun.reflect.generics.repository.GenericDeclRepository - java:/Objects/sun.reflect.generics.tree.MethodTypeSignature - java:/Objects/sun.reflect.generics.repository.AbstractRepository - java:/Objects/sun.reflect.generics.tree.Signature - java:/Objects/sun.reflect.generics.visitor.Reifier - java:/Objects/sun.reflect.generics.tree.Tree - java:/Objects/sun.reflect.generics.visitor.TypeTreeVisitor - java:/Objects/sun.reflect.generics.tree.TypeArgument - java:/Objects/sun.reflect.generics.tree.ArrayTypeSignature - java:/Objects/sun.reflect.generics.tree.BooleanSignature - java:/Objects/sun.reflect.generics.tree.BottomSignature - java:/Objects/sun.reflect.generics.tree.ByteSignature - java:/Objects/sun.reflect.generics.tree.CharSignature - java:/Objects/sun.reflect.generics.tree.ClassTypeSignature - java:/Objects/sun.reflect.generics.tree.DoubleSignature - java:/Objects/sun.reflect.generics.tree.FloatSignature - java:/Objects/sun.reflect.generics.tree.FormalTypeParameter - java:/Objects/sun.reflect.generics.tree.IntSignature - java:/Objects/sun.reflect.generics.tree.LongSignature - java:/Objects/sun.reflect.generics.tree.ShortSignature - java:/Objects/sun.reflect.generics.tree.SimpleClassTypeSignature - java:/Objects/sun.reflect.generics.tree.TypeVariableSignature - java:/Objects/sun.reflect.generics.tree.VoidDescriptor - java:/Objects/sun.reflect.generics.tree.Wildcard - java:/Objects/sun.reflect.generics.tree.TypeTree - java:/Objects/sun.reflect.generics.tree.FieldTypeSignature - java:/Objects/sun.reflect.generics.tree.TypeSignature - java:/Objects/sun.reflect.generics.tree.BaseType - java:/Objects/sun.reflect.generics.tree.ReturnType - java:/Objects/sun.reflect.generics.visitor.Visitor - java:/Objects/sun.reflect.generics.tree.ClassSignature - java:/Objects/java.lang.reflect.GenericDeclaration - java:/Objects/java.lang.ReflectiveOperationException - java:/Objects/sun.reflect.generics.repository.MethodRepository - java:/Objects/java.lang.invoke.MethodType - java:/Objects/java.lang.invoke.LambdaForm - java:/Objects/java.lang.invoke.BoundMethodHandle - java:/Objects/java.lang.invoke.MemberName - java:/Objects/java.lang.invoke.MethodHandleImpl - java:/Objects/java.lang.ref.WeakReference - java:/Objects/java.lang.ref.ReferenceQueue - java:/Objects/java.util.concurrent.ConcurrentMap - java:/Objects/java.lang.invoke.MethodTypeForm - java:/Objects/java.lang.ClassLoader - java:/Objects/java.lang.TypeNotPresentException - java:/Objects/java.lang.invoke.Invokers - java:/Objects/java.lang.IndexOutOfBoundsException - java:/Objects/java.lang.invoke.Stable - java:/Objects/java.lang.ref.Reference - java:/Objects/java.lang.Thread - java:/Objects/java.lang.ThreadGroup - java:/Objects/java.lang.Boolean - java:/Objects/java.security.AccessControlContext - java:/Objects/sun.nio.ch.Interruptible - java:/Objects/java.lang.InterruptedException - java:/Objects/java.lang.RuntimePermission - java:/Objects/java.lang.ThreadLocal - java:/Objects/sun.misc.Contended - java:/Objects/java.security.ProtectionDomain - java:/Objects/java.security.DomainCombiner - java:/Objects/java.security.AccessControlException - java:/Objects/sun.misc.JavaSecurityAccess - java:/Objects/java.security.CodeSource - java:/Objects/java.security.Principal - java:/Objects/java.security.cert.Certificate - java:/Objects/java.security.CodeSigner - java:/Objects/java.security.cert.CertificateFactory - java:/Objects/java.net.SocketPermission - java:/Objects/java.security.cert.CertificateEncodingException - java:/Objects/java.security.PublicKey - java:/Objects/java.security.cert.CertificateException - java:/Objects/java.security.InvalidKeyException - java:/Objects/java.security.SignatureException - java:/Objects/java.security.Key - java:/Objects/java.security.GeneralSecurityException - java:/Objects/java.security.KeyException - java:/Objects/java.security.cert.CertPath - java:/Objects/java.security.Timestamp - java:/Objects/java.util.Date - java:/Objects/java.lang.Cloneable - java:/Objects/java.time.Instant - java:/Objects/sun.util.calendar.BaseCalendar - java:/Objects/java.time.temporal.Temporal - java:/Objects/java.time.temporal.TemporalAdjuster - java:/Objects/java.time.ZoneOffset - java:/Objects/java.time.OffsetDateTime - java:/Objects/java.time.ZoneId - java:/Objects/java.time.ZonedDateTime - java:/Objects/java.time.temporal.TemporalAccessor - java:/Objects/java.time.temporal.TemporalField - java:/Objects/java.time.temporal.TemporalUnit - java:/Objects/java.time.temporal.TemporalAmount - java:/Objects/java.time.Clock - java:/Objects/java.time.temporal.TemporalQuery - java:/Objects/java.time.temporal.ValueRange - java:/Objects/java.io.DataInput - java:/Objects/java.io.InvalidObjectException - java:/Objects/java.io.DataOutput - java:/Objects/java.time.zone.ZoneRules - java:/Objects/java.time.zone.ZoneOffsetTransition - java:/Objects/java.time.zone.ZoneOffsetTransitionRule - java:/Objects/java.time.LocalDateTime - java:/Objects/java.time.Duration - java:/Objects/java.time.Month - java:/Objects/java.time.DayOfWeek - java:/Objects/java.time.LocalTime - java:/Objects/java.time.format.TextStyle - java:/Objects/java.time.LocalDate - java:/Objects/java.time.OffsetTime - java:/Objects/java.time.format.DateTimeFormatter - java:/Objects/java.time.chrono.ChronoLocalDate - java:/Objects/java.time.chrono.IsoChronology - java:/Objects/java.time.chrono.Era - java:/Objects/java.time.Period - java:/Objects/java.time.chrono.ChronoLocalDateTime - java:/Objects/java.time.chrono.Chronology - java:/Objects/java.time.chrono.ChronoPeriod - java:/Objects/java.time.chrono.ChronoZonedDateTime - java:/Objects/java.time.temporal.ChronoField - java:/Objects/java.time.format.ResolverStyle - java:/Objects/java.time.chrono.AbstractChronology - java:/Objects/java.time.chrono.IsoEra - java:/Objects/java.util.concurrent.ConcurrentHashMap - java:/Objects/java.util.AbstractMap - java:/Objects/java.util.function.ToIntBiFunction - java:/Objects/java.util.function.ToLongBiFunction - java:/Objects/java.util.function.ToDoubleBiFunction - java:/Objects/java.util.function.BiFunction - java:/Objects/java.util.concurrent.atomic.AtomicReference - java:/Objects/java.lang.Void - java:/Objects/java.util.concurrent.CountedCompleter - java:/Objects/java.util.concurrent.locks.ReentrantLock - java:/Objects/java.util.function.BinaryOperator - java:/Objects/java.util.function.UnaryOperator - java:/Objects/java.util.concurrent.ForkJoinTask - java:/Objects/java.util.concurrent.Future - java:/Objects/java.util.concurrent.RunnableFuture - java:/Objects/java.util.concurrent.Callable - java:/Objects/java.util.concurrent.ExecutionException - java:/Objects/java.util.concurrent.TimeUnit - java:/Objects/java.util.concurrent.TimeoutException - java:/Objects/java.util.concurrent.ForkJoinPool - java:/Objects/java.util.concurrent.AbstractExecutorService - java:/Objects/java.util.concurrent.ForkJoinWorkerThread - java:/Objects/java.util.concurrent.ExecutorService - java:/Objects/java.util.concurrent.Executor - java:/Objects/java.util.concurrent.locks.Lock - java:/Objects/java.util.concurrent.locks.AbstractQueuedSynchronizer - java:/Objects/java.util.concurrent.locks.Condition - java:/Objects/java.util.concurrent.locks.AbstractOwnableSynchronizer - java:/Objects/java.lang.NullPointerException - java:/Objects/java.io.ObjectInput - java:/Objects/java.io.ObjectOutput - java:/Objects/java.text.Format - java:/Objects/java.text.FieldPosition - java:/Objects/java.text.ParseException - java:/Objects/java.text.ParsePosition - java:/Objects/java.time.format.DateTimeFormatterBuilder - java:/Objects/java.time.format.DecimalStyle - java:/Objects/java.time.format.DateTimeParseException - java:/Objects/java.time.format.FormatStyle - java:/Objects/java.time.format.DateTimeParseContext - java:/Objects/java.text.AttributedCharacterIterator - java:/Objects/java.text.CharacterIterator - java:/Objects/java.time.format.DateTimePrintContext - java:/Objects/java.lang.ref.SoftReference - java:/Objects/java.time.format.DateTimeTextProvider - java:/Objects/java.math.BigDecimal - java:/Objects/java.time.format.SignStyle - java:/Objects/java.lang.Character - java:/Objects/java.math.MathContext - java:/Objects/java.math.RoundingMode - java:/Objects/java.math.MutableBigInteger - java:/Objects/java.util.HashMap - java:/Objects/java.util.LinkedHashMap - java:/Objects/java.util.AbstractSet - java:/Objects/java.util.AbstractCollection - java:/Objects/java.time.DateTimeException - java:/Objects/java.time.format.Parsed - java:/Objects/java.util.ArrayList - java:/Objects/java.util.AbstractList - java:/Objects/java.util.RandomAccess - java:/Objects/java.util.ListIterator - java:/Objects/java.util.function.Predicate - java:/Objects/sun.util.calendar.AbstractCalendar - java:/Objects/sun.util.calendar.CalendarDate - java:/Objects/java.util.TimeZone - java:/Objects/sun.util.calendar.CalendarSystem - java:/Objects/sun.util.calendar.Era - java:/Objects/java.util.Properties - java:/Objects/sun.util.calendar.Gregorian - java:/Objects/java.util.Hashtable - java:/Objects/java.io.InputStream - java:/Objects/java.util.InvalidPropertiesFormatException - java:/Objects/sun.util.spi.XmlPropertiesProvider - java:/Objects/java.io.Reader - java:/Objects/java.io.BufferedWriter - java:/Objects/java.util.Dictionary - java:/Objects/java.io.StreamCorruptedException - java:/Objects/java.io.NotSerializableException - java:/Objects/java.lang.Readable - java:/Objects/java.nio.CharBuffer - java:/Objects/java.nio.Buffer - java:/Objects/java.nio.ByteOrder - java:/Objects/java.security.cert.CertificateFactorySpi - java:/Objects/java.security.cert.CRLException - java:/Objects/java.security.cert.CRL - java:/Objects/java.net.UnknownHostException - java:/Objects/java.net.InetAddress - java:/Objects/sun.net.spi.nameservice.NameService - java:/Objects/java.net.NetworkInterface - java:/Objects/java.net.InetAddressImpl - java:/Objects/java.net.SocketException - java:/Objects/java.net.InterfaceAddress - java:/Objects/java.net.Inet4Address - java:/Objects/javax.security.auth.Subject - java:/Objects/javax.security.auth.AuthPermission - java:/Objects/java.util.LinkedList - java:/Objects/java.security.PrivilegedExceptionAction - java:/Objects/java.security.PrivilegedActionException - java:/Objects/java.security.BasicPermission - java:/Objects/java.util.AbstractSequentialList - java:/Objects/java.util.Deque - java:/Objects/java.util.Queue - java:/Objects/java.util.concurrent.atomic.AtomicInteger - java:/Objects/java.lang.ClassFormatError - java:/Objects/java.nio.ByteBuffer - java:/Objects/java.lang.Package - java:/Objects/sun.misc.URLClassPath - java:/Objects/java.lang.AssertionStatusDirectives - java:/Objects/java.util.Vector - java:/Objects/java.util.Stack - java:/Objects/java.lang.LinkageError - java:/Objects/java.lang.Error - java:/Objects/java.nio.DoubleBuffer - java:/Objects/java.nio.FloatBuffer - java:/Objects/java.nio.IntBuffer - java:/Objects/java.nio.LongBuffer - java:/Objects/java.nio.ShortBuffer - java:/Objects/java.util.jar.Manifest - java:/Objects/java.io.FilterInputStream - java:/Objects/java.util.jar.JarVerifier - java:/Objects/java.util.jar.Attributes - java:/Objects/java.util.jar.JarEntry - java:/Objects/sun.security.util.ManifestEntryVerifier - java:/Objects/java.util.jar.JarFile - java:/Objects/java.util.zip.ZipEntry - java:/Objects/java.io.ByteArrayOutputStream - java:/Objects/sun.security.util.ManifestDigester - java:/Objects/sun.security.util.SignatureFileVerifier - java:/Objects/java.util.jar.JarException - java:/Objects/java.util.zip.ZipException - java:/Objects/java.util.zip.ZipFile - java:/Objects/java.util.zip.ZipConstants - java:/Objects/java.util.zip.InflaterInputStream - java:/Objects/java.util.zip.Inflater - java:/Objects/java.util.zip.ZipCoder - java:/Objects/java.util.zip.DataFormatException - java:/Objects/java.util.zip.ZStreamRef - java:/Objects/java.nio.charset.CharsetDecoder - java:/Objects/java.nio.charset.CharsetEncoder - java:/Objects/java.nio.charset.CharacterCodingException - java:/Objects/java.nio.charset.CoderResult - java:/Objects/java.nio.charset.CodingErrorAction - java:/Objects/java.nio.file.attribute.FileTime - java:/Objects/sun.security.pkcs.SignerInfo - java:/Objects/sun.security.pkcs.PKCS7 - java:/Objects/sun.security.util.DisabledAlgorithmConstraints - java:/Objects/sun.security.util.DerEncoder - java:/Objects/sun.security.util.DerInputStream - java:/Objects/sun.security.pkcs.ParsingException - java:/Objects/sun.security.x509.X500Name - java:/Objects/sun.security.x509.AlgorithmId - java:/Objects/sun.security.pkcs.PKCS9Attributes - java:/Objects/sun.security.util.DerOutputStream - java:/Objects/java.security.cert.X509Certificate - java:/Objects/sun.security.timestamp.TimestampToken - java:/Objects/java.security.CryptoPrimitive - java:/Objects/sun.security.util.DerInputBuffer - java:/Objects/sun.security.util.DerValue - java:/Objects/sun.security.util.ObjectIdentifier - java:/Objects/sun.security.util.BitArray - java:/Objects/java.io.ByteArrayInputStream - java:/Objects/java.lang.ArrayIndexOutOfBoundsException - java:/Objects/sun.security.x509.GeneralNameInterface - java:/Objects/sun.security.x509.RDN - java:/Objects/sun.security.x509.AVA - java:/Objects/javax.security.auth.x500.X500Principal - java:/Objects/java.lang.UnsupportedOperationException - java:/Objects/java.lang.Byte - java:/Objects/java.io.NotActiveException - java:/Objects/java.security.AlgorithmParameters - java:/Objects/java.security.AlgorithmParametersSpi - java:/Objects/java.security.spec.AlgorithmParameterSpec - java:/Objects/java.security.spec.InvalidParameterSpecException - java:/Objects/sun.security.pkcs.PKCS9Attribute - java:/Objects/sun.security.util.ByteArrayLexOrder - java:/Objects/sun.security.util.ByteArrayTagOrder - java:/Objects/java.security.cert.X509Extension - java:/Objects/java.security.cert.CertificateExpiredException - java:/Objects/java.security.cert.CertificateNotYetValidException - java:/Objects/java.security.cert.CertificateParsingException - java:/Objects/sun.security.pkcs.ContentInfo - java:/Objects/java.security.cert.X509CRL - java:/Objects/sun.security.timestamp.Timestamper - java:/Objects/java.security.cert.X509CRLEntry - java:/Objects/java.security.cert.CRLReason - java:/Objects/sun.security.timestamp.TSRequest - java:/Objects/sun.security.timestamp.TSResponse - java:/Objects/sun.security.util.AbstractAlgorithmConstraints - java:/Objects/sun.security.util.ConstraintsParameters - java:/Objects/java.security.cert.CertPathValidatorException - java:/Objects/java.text.SimpleDateFormat - java:/Objects/sun.security.util.AlgorithmDecomposer - java:/Objects/java.security.AlgorithmConstraints - java:/Objects/java.text.DateFormat - java:/Objects/java.text.DateFormatSymbols - java:/Objects/java.text.CalendarBuilder - java:/Objects/java.text.NumberFormat - java:/Objects/sun.util.locale.provider.LocaleProviderAdapter - java:/Objects/java.util.Calendar - java:/Objects/java.util.spi.LocaleServiceProvider - java:/Objects/java.text.spi.BreakIteratorProvider - java:/Objects/java.util.spi.CalendarDataProvider - java:/Objects/java.util.spi.CalendarNameProvider - java:/Objects/sun.util.spi.CalendarProvider - java:/Objects/java.text.spi.CollatorProvider - java:/Objects/java.util.spi.CurrencyNameProvider - java:/Objects/java.text.spi.DateFormatProvider - java:/Objects/java.text.spi.DateFormatSymbolsProvider - java:/Objects/java.text.spi.DecimalFormatSymbolsProvider - java:/Objects/java.util.spi.LocaleNameProvider - java:/Objects/sun.util.locale.provider.LocaleResources - java:/Objects/java.text.spi.NumberFormatProvider - java:/Objects/java.util.spi.TimeZoneNameProvider - java:/Objects/java.text.BreakIterator - java:/Objects/java.text.Collator - java:/Objects/java.text.CollationKey - java:/Objects/java.text.DecimalFormatSymbols - java:/Objects/java.util.Currency - java:/Objects/sun.util.locale.provider.LocaleServiceProviderPool - java:/Objects/java.io.DataInputStream - java:/Objects/java.util.HashSet - java:/Objects/sun.util.locale.provider.ResourceBundleBasedAdapter - java:/Objects/java.util.ResourceBundle - java:/Objects/sun.util.resources.LocaleData - java:/Objects/sun.util.locale.LocaleObjectCache - java:/Objects/sun.util.locale.BaseLocale - java:/Objects/java.util.spi.ResourceBundleControlProvider - java:/Objects/sun.util.resources.OpenListResourceBundle - java:/Objects/sun.util.resources.TimeZoneNamesBundle - java:/Objects/sun.util.resources.ParallelListResourceBundle - java:/Objects/java.util.concurrent.atomic.AtomicMarkableReference - java:/Objects/java.io.DataOutputStream - java:/Objects/java.io.FilterOutputStream - java:/Objects/sun.misc.Resource - java:/Objects/java.net.URLStreamHandler - java:/Objects/sun.misc.JarIndex - java:/Objects/sun.misc.MetaIndex - java:/Objects/sun.misc.JavaUtilZipFileAccess - java:/Objects/java.net.URLStreamHandlerFactory - java:/Objects/java.net.URLConnection - java:/Objects/java.net.Proxy - java:/Objects/java.net.UnknownServiceException - java:/Objects/java.net.ContentHandler - java:/Objects/java.net.FileNameMap - java:/Objects/java.net.ContentHandlerFactory - java:/Objects/sun.net.www.MessageHeader - java:/Objects/java.net.SocketAddress - java:/Objects/java.lang.invoke.ForceInline - java:/Objects/java.lang.invoke.DontInline - java:/Objects/java.lang.invoke.WrongMethodTypeException - java:/Objects/sun.invoke.util.Wrapper - java:/Objects/java.lang.invoke.LambdaFormEditor - java:/Objects/java.lang.ClassCastException - java:/Objects/java.lang.invoke.LambdaFormBuffer - java:/Objects/jdk.internal.org.objectweb.asm.MethodVisitor - java:/Objects/java.lang.invoke.MethodHandles - java:/Objects/jdk.internal.org.objectweb.asm.AnnotationVisitor - java:/Objects/jdk.internal.org.objectweb.asm.Attribute - java:/Objects/jdk.internal.org.objectweb.asm.TypePath - java:/Objects/jdk.internal.org.objectweb.asm.Handle - java:/Objects/jdk.internal.org.objectweb.asm.Label - java:/Objects/jdk.internal.org.objectweb.asm.ClassWriter - java:/Objects/jdk.internal.org.objectweb.asm.ByteVector - java:/Objects/jdk.internal.org.objectweb.asm.ClassReader - java:/Objects/jdk.internal.org.objectweb.asm.ClassVisitor - java:/Objects/jdk.internal.org.objectweb.asm.Item - java:/Objects/jdk.internal.org.objectweb.asm.FieldVisitor - java:/Objects/jdk.internal.org.objectweb.asm.AnnotationWriter - java:/Objects/jdk.internal.org.objectweb.asm.FieldWriter - java:/Objects/jdk.internal.org.objectweb.asm.MethodWriter - java:/Objects/jdk.internal.org.objectweb.asm.Frame - java:/Objects/jdk.internal.org.objectweb.asm.Handler - java:/Objects/jdk.internal.org.objectweb.asm.Type - java:/Objects/jdk.internal.org.objectweb.asm.Context - java:/Objects/jdk.internal.org.objectweb.asm.Edge - java:/Objects/java.lang.NoSuchMethodException - java:/Objects/java.lang.NoSuchFieldException - java:/Objects/java.lang.invoke.DirectMethodHandle - java:/Objects/java.lang.invoke.MethodHandleInfo - java:/Objects/java.lang.ClassValue - java:/Objects/java.util.WeakHashMap - java:/Objects/java.lang.invoke.DelegatingMethodHandle - java:/Objects/sun.invoke.empty.Empty - java:/Objects/java.lang.reflect.Parameter - java:/Objects/java.lang.reflect.ParameterizedType - java:/Objects/java.lang.reflect.WildcardType - java:/Objects/java.util.regex.Matcher - java:/Objects/java.util.regex.UnicodeProp - java:/Objects/java.util.regex.PatternSyntaxException - java:/Objects/java.util.regex.MatchResult - java:/Objects/java.security.MessageDigestSpi - java:/Objects/java.security.DigestException - java:/Objects/java.net.URISyntaxException - java:/Objects/java.lang.Iterable - java:/Objects/java.nio.file.Watchable - java:/Objects/java.nio.file.FileSystem - java:/Objects/java.nio.file.WatchService - java:/Objects/java.nio.file.WatchEvent - java:/Objects/java.nio.file.WatchKey - java:/Objects/java.nio.file.LinkOption - java:/Objects/java.nio.file.FileStore - java:/Objects/java.nio.file.PathMatcher - java:/Objects/java.nio.file.attribute.UserPrincipalLookupService - java:/Objects/java.nio.file.spi.FileSystemProvider - java:/Objects/java.nio.file.attribute.FileStoreAttributeView - java:/Objects/java.nio.file.attribute.FileAttributeView - java:/Objects/java.nio.file.attribute.AttributeView - java:/Objects/java.nio.file.attribute.GroupPrincipal - java:/Objects/java.nio.file.attribute.UserPrincipal - java:/Objects/java.nio.file.AccessMode - java:/Objects/java.nio.file.CopyOption - java:/Objects/java.nio.file.attribute.FileAttribute - java:/Objects/java.nio.file.OpenOption - java:/Objects/java.nio.channels.AsynchronousFileChannel - java:/Objects/java.nio.channels.SeekableByteChannel - java:/Objects/java.nio.file.DirectoryStream - java:/Objects/java.nio.channels.FileChannel - java:/Objects/java.nio.file.attribute.BasicFileAttributes - java:/Objects/java.nio.channels.AsynchronousChannel - java:/Objects/java.nio.channels.FileLock - java:/Objects/java.nio.channels.CompletionHandler - java:/Objects/java.nio.channels.Channel - java:/Objects/java.nio.channels.ByteChannel - java:/Objects/java.nio.channels.ReadableByteChannel - java:/Objects/java.nio.channels.WritableByteChannel - java:/Objects/java.nio.channels.spi.AbstractInterruptibleChannel - java:/Objects/java.nio.channels.GatheringByteChannel - java:/Objects/java.nio.channels.ScatteringByteChannel - java:/Objects/java.nio.MappedByteBuffer - java:/Objects/java.nio.channels.InterruptibleChannel - java:/Objects/java.nio.channels.AsynchronousCloseException - java:/Objects/java.nio.channels.ClosedChannelException - java:/Objects/java.io.FileDescriptor - java:/Objects/java.io.SyncFailedException - java:/Objects/java.lang.SecurityManager - java:/Objects/java.net.UrlDeserializedState - java:/Objects/java.nio.charset.spi.CharsetProvider - java:/Objects/java.util.SortedMap - java:/Objects/sun.util.locale.InternalLocaleBuilder - java:/Objects/sun.util.locale.LocaleExtensions - java:/Objects/java.text.MessageFormat - java:/Objects/java.util.MissingResourceException - java:/Objects/sun.util.locale.LocaleSyntaxException - java:/Objects/sun.util.locale.LanguageTag - java:/Objects/sun.util.locale.ParseStatus - java:/Objects/sun.util.locale.StringTokenIterator - java:/Objects/sun.util.locale.Extension - java:/Objects/java.io.OutputStreamWriter - java:/Objects/sun.nio.cs.StreamEncoder - java:/Objects/java.io.ObjectStreamConstants - java:/Objects/java.io.ObjectStreamClass - java:/Objects/java.io.Externalizable - java:/Objects/java.io.SerialCallbackContext - java:/Objects/java.io.SerializablePermission - java:/Objects/java.io.InvalidClassException - java:/Objects/sun.misc.ObjectInputFilter - java:/Objects/java.io.ObjectInputValidation - java:/Objects/sun.util.logging.PlatformLogger - java:/Objects/sun.misc.ObjectStreamClassValidator - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IInputKey - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PTraceable - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PDisjunction - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.PProblem - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.TypeJudgement - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PBody - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PVariable - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryMetaContext - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.PConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.InputKeyImplication - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IPosetComparator - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.VariableDeferredPConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.DeferredPConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.SubPlan - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.BasePConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.POperation - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.QueryHintOption - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendFactory - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryBackendContext - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackend - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IQueryBackendHintProvider - java:/Objects/org.apache.log4j.Logger - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.analysis.QueryAnalyzer - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryCacheContext - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryResultProviderAccess - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContext - java:/Objects/org.apache.log4j.Category - java:/Objects/org.apache.log4j.spi.LoggerFactory - java:/Objects/org.apache.log4j.spi.AppenderAttachable - java:/Objects/org.apache.log4j.Appender - java:/Objects/org.apache.log4j.spi.LoggingEvent - java:/Objects/org.apache.log4j.Priority - java:/Objects/org.apache.log4j.spi.LoggerRepository - java:/Objects/org.apache.log4j.Level - java:/Objects/org.apache.log4j.helpers.AppenderAttachableImpl - java:/Objects/org.apache.log4j.spi.Filter - java:/Objects/org.apache.log4j.spi.ErrorHandler - java:/Objects/org.apache.log4j.Layout - java:/Objects/org.apache.log4j.spi.OptionHandler - java:/Objects/org.apache.log4j.spi.ThrowableInformation - java:/Objects/org.apache.log4j.spi.LocationInfo - java:/Objects/java.io.StringWriter - java:/Objects/org.apache.log4j.spi.HierarchyEventListener - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IQueryRuntimeContextListener - java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.ITuple - java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.TupleMask - java:/Objects/org.eclipse.viatra.query.runtime.matchers.context.IndexingService - java:/Objects/org.eclipse.viatra.query.runtime.matchers.util.Accuracy - java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.IModifiableTuple - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.QueryProcessingException - java:/Objects/org.eclipse.viatra.query.runtime.matchers.ViatraQueryRuntimeException - java:/Objects/sun.reflect.annotation.AnnotationType - java:/Objects/sun.reflect.ConstantPool - java:/Objects/sun.reflect.generics.repository.ClassRepository - java:/Objects/org.eclipse.viatra.query.runtime.internal.apiimpl.EngineContextFactory - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IIndexingErrorListener - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IEngineContext - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IBaseIndex - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.ViatraBaseIndexChangeListener - java:/Objects/org.eclipse.viatra.query.runtime.api.scope.IInstanceObserver - java:/Objects/java.util.stream.Collector - java:/Objects/java.lang.SafeVarargs - java:/Objects/org.eclipse.viatra.query.runtime.matchers.backend.IUpdateable - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseQuerySpecification - java:/Objects/java.lang.ExceptionInInitializerError - java:/Objects/org.eclipse.viatra.query.runtime.exception.ViatraQueryException - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.QueryInitializationException - java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions - java:/Objects/org.eclipse.viatra.query.runtime.matchers.tuple.AbstractTuple - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseQueryGroup - java:/Objects/org.eclipse.viatra.query.runtime.api.IQueryGroup - java:/Objects/org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine - java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryEngineLifecycleListener - java:/Objects/org.eclipse.viatra.query.runtime.api.IMatchUpdateListener - java:/Objects/org.eclipse.viatra.query.runtime.api.ViatraQueryModelUpdateListener - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.queries.BasePQuery - java:/Objects/org.eclipse.emf.ecore.EClassifier - java:/Objects/org.eclipse.emf.ecore.EEnumLiteral - java:/Objects/org.eclipse.emf.ecore.EStructuralFeature - java:/Objects/org.eclipse.emf.ecore.ENamedElement - java:/Objects/org.eclipse.emf.ecore.EPackage - java:/Objects/org.eclipse.emf.common.util.EList - java:/Objects/org.eclipse.emf.ecore.ETypeParameter - java:/Objects/org.eclipse.emf.ecore.EModelElement - java:/Objects/org.eclipse.emf.ecore.EObject - java:/Objects/org.eclipse.emf.ecore.EAnnotation - java:/Objects/org.eclipse.emf.common.notify.Notifier - java:/Objects/org.eclipse.emf.common.util.TreeIterator - java:/Objects/org.eclipse.emf.ecore.EClass - java:/Objects/org.eclipse.emf.ecore.EReference - java:/Objects/org.eclipse.emf.ecore.EOperation - java:/Objects/org.eclipse.emf.ecore.resource.Resource - java:/Objects/org.eclipse.emf.common.notify.Adapter - java:/Objects/org.eclipse.emf.common.notify.Notification - java:/Objects/org.eclipse.emf.ecore.EAttribute - java:/Objects/org.eclipse.emf.ecore.EGenericType - java:/Objects/org.eclipse.emf.ecore.EDataType - java:/Objects/org.eclipse.emf.ecore.InternalEObject - java:/Objects/org.eclipse.emf.common.CommonPlugin - java:/Objects/org.eclipse.emf.common.notify.NotificationChain - java:/Objects/org.eclipse.emf.common.util.URI - java:/Objects/org.eclipse.emf.common.util.Pool - java:/Objects/org.eclipse.emf.common.util.SegmentSequence - java:/Objects/org.eclipse.emf.common.util.CommonUtil - java:/Objects/org.eclipse.emf.common.util.WeakInterningHashSet - java:/Objects/java.util.concurrent.locks.ReentrantReadWriteLock - java:/Objects/org.eclipse.emf.common.util.InterningSet - java:/Objects/java.util.concurrent.locks.ReadWriteLock - java:/Objects/java.lang.IllegalMonitorStateException - java:/Objects/org.eclipse.emf.common.EMFPlugin - java:/Objects/org.osgi.framework.BundleActivator - java:/Objects/org.eclipse.emf.common.util.ResourceLocator - java:/Objects/org.eclipse.emf.common.util.DelegatingResourceLocator - java:/Objects/org.eclipse.emf.common.util.Logger - java:/Objects/org.eclipse.core.runtime.Plugin - java:/Objects/org.eclipse.core.runtime.IPluginDescriptor - java:/Objects/org.osgi.framework.Bundle - java:/Objects/org.eclipse.core.runtime.ILog - java:/Objects/org.osgi.framework.BundleContext - java:/Objects/org.eclipse.core.runtime.IPath - java:/Objects/org.eclipse.osgi.service.debug.DebugOptions - java:/Objects/org.eclipse.core.runtime.Preferences - java:/Objects/java.lang.IllegalStateException - java:/Objects/org.eclipse.core.runtime.CoreException - java:/Objects/org.osgi.util.tracker.ServiceTracker - java:/Objects/org.eclipse.osgi.service.debug.DebugTrace - java:/Objects/java.util.EventListener - java:/Objects/java.util.EventObject - java:/Objects/org.eclipse.core.runtime.IStatus - java:/Objects/org.eclipse.core.runtime.ListenerList - java:/Objects/org.osgi.util.tracker.ServiceTrackerCustomizer - java:/Objects/org.osgi.framework.AllServiceListener - java:/Objects/org.osgi.util.tracker.AbstractTracked - java:/Objects/org.osgi.framework.ServiceReference - java:/Objects/org.osgi.framework.ServiceEvent - java:/Objects/org.osgi.framework.ServiceListener - java:/Objects/org.osgi.framework.Filter - java:/Objects/org.osgi.framework.InvalidSyntaxException - java:/Objects/org.eclipse.core.runtime.IExtension - java:/Objects/org.eclipse.core.runtime.IExtensionPoint - java:/Objects/org.eclipse.core.runtime.IPluginPrerequisite - java:/Objects/org.eclipse.core.runtime.ILibrary - java:/Objects/org.eclipse.core.runtime.PluginVersionIdentifier - java:/Objects/org.eclipse.core.runtime.InvalidRegistryObjectException - java:/Objects/org.eclipse.core.runtime.IConfigurationElement - java:/Objects/org.eclipse.core.runtime.IContributor - java:/Objects/org.osgi.framework.Version - java:/Objects/org.osgi.framework.BundleException - java:/Objects/org.eclipse.core.runtime.ILogListener - java:/Objects/org.osgi.framework.BundleReference - java:/Objects/org.osgi.framework.BundleListener - java:/Objects/org.osgi.framework.FrameworkListener - java:/Objects/org.osgi.framework.ServiceObjects - java:/Objects/org.osgi.framework.ServiceRegistration - java:/Objects/org.osgi.framework.ServiceFactory - java:/Objects/org.osgi.framework.BundleEvent - java:/Objects/org.osgi.framework.FrameworkEvent - java:/Objects/org.eclipse.emf.ecore.ETypedElement - java:/Objects/org.eclipse.emf.ecore.EParameter - java:/Objects/org.eclipse.emf.ecore.resource.ResourceSet - java:/Objects/org.eclipse.emf.common.notify.AdapterFactory - java:/Objects/org.eclipse.emf.ecore.resource.URIConverter - java:/Objects/java.io.InputStreamReader - java:/Objects/org.eclipse.emf.ecore.resource.ContentHandler - java:/Objects/org.eclipse.emf.ecore.resource.URIHandler - java:/Objects/sun.nio.cs.StreamDecoder - java:/Objects/java.io.FileInputStream - java:/Objects/org.eclipse.emf.common.util.EMap - java:/Objects/org.eclipse.emf.ecore.EFactory - java:/Objects/org.eclipse.emf.common.util.Enumerator - java:/Objects/org.eclipse.emf.ecore.EEnum - java:/Objects/org.eclipse.emf.ecore.util.FeatureMap - java:/Objects/org.eclipse.emf.ecore.util.InternalEList - java:/Objects/org.eclipse.emf.ecore.util.EContentsEList - java:/Objects/org.eclipse.emf.ecore.util.AbstractSequentialInternalEList - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CommunicatingElement - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CommSubsystem - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.DirectedCommunicationLink - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.TransceiverBand - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.AntennaGain - java:/Objects/java.lang.Override - java:/Objects/java.lang.SuppressWarnings - java:/Objects/javax.annotation.Generated - java:/Objects/org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.Spacecraft - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.Payload - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.InterferometryMission - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.ConstellationMission - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.GroundStationNetwork - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SmallSat - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.CubeSat3U - ../src/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/SatelliteGeneratorMain.xtend - java:/Objects/org.eclipse.xtext.xbase.lib.ArrayLiterals - java:/Objects/com.google.common.annotations.GwtCompatible - java:/Objects/org.eclipse.xtext.xbase.lib.Pure - java:/Objects/org.eclipse.xtext.xbase.lib.Inline - java:/Objects/com.google.common.annotations.Beta - java:/Objects/org.eclipse.xtext.xbase.lib.CollectionLiterals - java:/Objects/org.eclipse.xtext.xbase.lib.Pair - java:/Objects/java.util.LinkedHashSet - java:/Objects/java.util.TreeMap - java:/Objects/java.util.TreeSet - java:/Objects/java.util.NavigableMap - java:/Objects/java.util.NavigableSet - java:/Objects/java.util.SortedSet - java:/Objects/org.eclipse.xtext.xbase.lib.InputOutput - java:/Objects/org.eclipse.xtext.xbase.lib.ArrayExtensions - java:/Objects/com.google.common.annotations.GwtIncompatible - java:/Objects/org.eclipse.xtext.xbase.lib.BigDecimalExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.BigIntegerExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.BooleanExtensions - java:/Objects/com.google.common.primitives.Booleans - java:/Objects/org.eclipse.xtext.xbase.lib.ByteExtensions - java:/Objects/java.lang.Math - java:/Objects/org.eclipse.xtext.xbase.lib.CharacterExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.CollectionExtensions - java:/Objects/com.google.common.collect.Iterables - java:/Objects/com.google.common.collect.ImmutableList - java:/Objects/com.google.common.collect.ImmutableSet - java:/Objects/com.google.common.collect.ImmutableSortedSet - java:/Objects/com.google.common.collect.ImmutableMap - java:/Objects/com.google.common.collect.ImmutableSortedMap - java:/Objects/java.util.Collections - java:/Objects/com.google.common.collect.FluentIterable - java:/Objects/com.google.common.base.Predicate - java:/Objects/com.google.common.base.Function - java:/Objects/com.google.common.base.Optional - java:/Objects/com.google.common.collect.ImmutableCollection - java:/Objects/com.google.common.collect.ImmutableListMultimap - java:/Objects/com.google.common.base.Joiner - java:/Objects/com.google.common.collect.ImmutableMultiset - java:/Objects/com.google.common.collect.ImmutableMultimap - java:/Objects/com.google.common.collect.ListMultimap - java:/Objects/com.google.common.collect.Multimap - java:/Objects/com.google.common.collect.AbstractMultimap - java:/Objects/com.google.common.collect.UnmodifiableIterator - java:/Objects/com.google.common.collect.Serialization - java:/Objects/com.google.common.collect.ImmutableSetMultimap - java:/Objects/com.google.common.collect.Multiset - java:/Objects/com.google.common.collect.Multimaps - java:/Objects/com.google.common.collect.Maps - java:/Objects/com.google.common.collect.AbstractListMultimap - java:/Objects/com.google.common.base.Supplier - java:/Objects/com.google.common.collect.AbstractMapBasedMultimap - java:/Objects/com.google.common.collect.AbstractSetMultimap - java:/Objects/com.google.common.collect.AbstractSortedSetMultimap - java:/Objects/com.google.common.collect.AbstractMultiset - java:/Objects/com.google.common.collect.Multisets - java:/Objects/com.google.common.collect.SetMultimap - java:/Objects/com.google.common.collect.ForwardingMultimap - java:/Objects/com.google.common.collect.SortedSetMultimap - java:/Objects/com.google.common.collect.FilteredMultimap - java:/Objects/com.google.common.collect.FilteredSetMultimap - java:/Objects/java.util.EnumMap - java:/Objects/com.google.common.base.Converter - java:/Objects/com.google.common.collect.BiMap - java:/Objects/com.google.common.collect.ForwardingMap - java:/Objects/com.google.common.collect.Ordering - java:/Objects/com.google.common.collect.Sets - java:/Objects/com.google.common.collect.ForwardingSet - java:/Objects/com.google.common.collect.AbstractNavigableMap - java:/Objects/com.google.common.collect.MapDifference - java:/Objects/com.google.common.collect.SortedMapDifference - java:/Objects/com.google.common.collect.ForwardingCollection - java:/Objects/com.google.common.collect.ForwardingSortedMap - java:/Objects/com.google.common.base.Equivalence - java:/Objects/java.util.IdentityHashMap - java:/Objects/com.google.common.collect.Range - java:/Objects/com.google.common.collect.ForwardingObject - java:/Objects/com.google.common.annotations.VisibleForTesting - java:/Objects/java.util.EnumSet - java:/Objects/com.google.common.collect.CartesianList - java:/Objects/com.google.common.collect.ForwardingNavigableSet - java:/Objects/com.google.common.collect.Collections2 - java:/Objects/com.google.common.collect.ForwardingSortedSet - java:/Objects/java.util.concurrent.CopyOnWriteArraySet - java:/Objects/com.google.common.collect.AbstractIterator - java:/Objects/java.util.concurrent.CopyOnWriteArrayList - java:/Objects/java.util.function.BiPredicate - java:/Objects/com.google.common.collect.Cut - java:/Objects/com.google.common.collect.DiscreteDomain - java:/Objects/com.google.common.collect.BoundType - java:/Objects/com.google.common.collect.ForwardingMultiset - java:/Objects/com.google.common.collect.SortedMultiset - java:/Objects/com.google.common.collect.SortedMultisetBridge - java:/Objects/com.google.common.collect.SortedIterable - java:/Objects/com.google.common.collect.UnmodifiableListIterator - java:/Objects/com.google.common.collect.ImmutableSortedSetFauxverideShim - java:/Objects/com.google.common.collect.RegularImmutableSortedSet - java:/Objects/com.google.common.collect.ImmutableMapEntry - java:/Objects/com.google.common.collect.ImmutableEntry - java:/Objects/com.google.common.collect.AbstractMapEntry - java:/Objects/com.google.common.collect.ImmutableSortedMapFauxverideShim - java:/Objects/java.util.AbstractQueue - java:/Objects/org.eclipse.xtext.xbase.lib.ComparableExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.DoubleExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.FloatExtensions - java:/Objects/java.lang.Float - java:/Objects/org.eclipse.xtext.xbase.lib.FunctionExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.Functions - java:/Objects/org.eclipse.xtext.xbase.lib.Procedures - java:/Objects/org.eclipse.xtext.xbase.lib.IntegerExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.ExclusiveRange - java:/Objects/org.eclipse.xtext.xbase.lib.IntegerRange - java:/Objects/org.eclipse.xtext.xbase.lib.IterableExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.IteratorExtensions - java:/Objects/com.google.common.collect.Iterators - java:/Objects/com.google.common.collect.MultitransformedIterator - java:/Objects/com.google.common.collect.PeekingIterator - java:/Objects/org.eclipse.xtext.xbase.lib.ListExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.LongExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.MapExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.internal.UnmodifiableMergingMapView - java:/Objects/org.eclipse.xtext.xbase.lib.ObjectExtensions - java:/Objects/com.google.common.base.Objects - java:/Objects/com.google.common.base.ExtraObjectsMethodsForWeb - java:/Objects/org.eclipse.xtext.xbase.lib.ProcedureExtensions - java:/Objects/org.eclipse.xtext.xbase.lib.ShortExtensions - java:/Objects/java.lang.Short - java:/Objects/org.eclipse.xtext.xbase.lib.StringExtensions - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/StandaloneScriptExecutor.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneSetup.xtend - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigurationScript - java:/Objects/org.eclipse.core.runtime.NullProgressMonitor - java:/Objects/org.eclipse.emf.ecore.util.EcoreUtil - java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.ReteEngine - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/PatternLanguageWithRSModule.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/PatternLanguageWithRSSetup.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptConsole.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScriptExecutor.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/ApplicationConfigurationStandaloneRuntimeModule.xtend - java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneSetupGenerated - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/linking/ApplicationConfigurationLinkingService.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/valueconverter/ApplicationConfigurationValueConverterService.xtend - java:/Objects/hu.bme.mit.inf.dslreasoner.application.AbstractApplicationConfigurationRuntimeModule - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationPackage - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CftImport - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.EPackageImport - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ViatraImport - java:/Objects/org.eclipse.xtext.xbase.lib.Extension - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ApplicationConfigurationFactory - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPackageEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.AllPatternEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ClassTypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Command - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Config - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ConfigSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CostEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CostObjectiveFunction - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.CustomEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Declaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentationEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ExactNumber - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.File - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FileSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.FolderEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GenerationTask - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPattern - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.GraphPatternReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Import - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntEnumberation - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntegerTypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.IntervallNumber - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MemoryEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Metamodel - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelElement - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.MetamodelSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ModelEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Mtff - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.NumberSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectTypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Objective - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveFunction - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ObjectiveSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.OptimizationEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModel - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PartialModelSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternElement - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.PatternSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealEnumeration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RealTypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabilityObjectiveFunction - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ReliabiltiyProbability - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.RuntimeEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Scope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeDeclaration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ScopeSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringEnumeration - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.StringTypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Task - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ThresholdEntry - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeReference - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.TypeScope - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.DocumentLevelSpecification - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.Solver - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.OptimizationDirection - java:/Objects/hu.bme.mit.inf.dslreasoner.application.applicationConfiguration.ComparisonOperator - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/valueconverter/QualifiedNameValueConverter.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/ApplicationConfigurationValidator.xtend - java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.AbstractApplicationConfigurationValidator - java:/Objects/org.eclipse.core.runtime.IProgressMonitor - java:/Objects/org.eclipse.emf.common.util.AbstractTreeIterator - java:/Objects/org.eclipse.emf.common.util.Diagnostic - java:/Objects/org.eclipse.emf.common.util.BasicEList - java:/Objects/org.eclipse.emf.common.util.AbstractEList - java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.RetePatternMatcher - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo - java:/Objects/org.eclipse.viatra.query.runtime.rete.index.Indexer - java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.Disconnectable - java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.ReteBoundary - java:/Objects/org.eclipse.viatra.query.runtime.rete.construction.plancompiler.ReteRecipeCompiler - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Network - java:/Objects/org.eclipse.viatra.query.runtime.rete.matcher.HintConfigurator - java:/Objects/org.eclipse.viatra.query.runtime.rete.single.TransformerNode - java:/Objects/org.eclipse.viatra.query.runtime.rete.index.IterableIndexer - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Receiver - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Production - java:/Objects/org.eclipse.viatra.query.runtime.rete.single.SingleInputNode - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.ReteContainer - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Direction - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.StandardNode - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Tunnel - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Supplier - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.TraceInfo - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.mailbox.Mailbox - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.BaseNode - java:/Objects/org.eclipse.viatra.query.runtime.rete.index.ProjectionIndexer - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.Node - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.CommunicationTracker - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.CommunicationGroup - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.RederivableNode - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.MessageKind - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.IGroupable - java:/Objects/org.eclipse.viatra.query.runtime.matchers.util.Clearable - java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.Address - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.ConnectionFactory - java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.InputConnector - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.NodeFactory - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.NodeProvisioner - java:/Objects/org.eclipse.viatra.query.runtime.rete.network.UpdateMessage - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ReteNodeRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.IndexerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SingleParentNodeRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.Mask - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InputRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InputFilterRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.boundary.ExternalInputEnumeratorNode - java:/Objects/com.google.common.collect.Table - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.FilterRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AlphaRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.CountAggregatorRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TransparentRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExpressionEnforcerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SingleColumnAggregatorRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TransitiveClosureRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ProductionRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.UniquenessEnforcerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ConstantRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.DiscriminatorBucketRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.DiscriminatorDispatcherRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.TrimmerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.InequalityFilterRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.EqualityFilterRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AntiJoinRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.SemiJoinRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.JoinRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExpressionDefinition - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.IndexerBasedAggregatorRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ProjectionIndexerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RederivableNodeRecipe - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IMultisetAggregationOperator - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.MonotonicityInfo - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.MultiParentNodeRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ExistenceJoinRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.BetaRecipe - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider - java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.RemoteReceiver - java:/Objects/org.eclipse.viatra.query.runtime.rete.remote.RemoteSupplier - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.UserRequestTrace - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.helper.RecipeRecognizer - java:/Objects/org.eclipse.viatra.query.runtime.rete.index.IndexerListener - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.IQueryPlannerStrategy - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.PlanningTrace - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.CompiledSubPlan - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryReflexiveTransitiveClosure - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.BinaryTransitiveClosure - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.CompiledQuery - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.EnumerablePConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PJoin - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PProject - java:/Objects/org.eclipse.viatra.query.runtime.matchers.planning.operations.PStart - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RecipesFactory - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.PDisjunctionRewriter - java:/Objects/org.eclipse.viatra.query.runtime.rete.construction.plancompiler.RecursionCutoffPoint - java:/Objects/org.eclipse.viatra.query.runtime.rete.traceability.PatternTraceInfo - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.ITypeConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.ITypeInfoProviderConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternCallBasedDeferred - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.IQueryReference - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.BoundAggregator - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.BaseTypeSafeConstraint - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.AbstractTransitiveClosure - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.KeyedEnumerablePConstraint - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.AggregatorIndexerRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.CheckRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.EvalRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.ReteRecipe - java:/Objects/org.eclipse.viatra.query.runtime.rete.recipes.RecipesPackage - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.AbstractRewriterTraceSource - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IDerivativeModificationReason - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IRewriterTraceCollector - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.rewriters.IPTraceableTraceProvider - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/util/ApplicationConfigurationParser.xtend - java:/Objects/org.eclipse.core.runtime.Status - java:/Objects/org.eclipse.core.runtime.jobs.Job - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/GenerationTaskExecutor.xtend - java:/Objects/org.eclipse.emf.ecore.resource.impl.ResourceSetImpl - java:/Objects/org.eclipse.emf.common.notify.impl.NotifierImpl - java:/Objects/org.eclipse.emf.ecore.util.EContentAdapter - java:/Objects/org.eclipse.emf.ecore.util.NotifyingInternalEListImpl - java:/Objects/org.eclipse.emf.common.notify.impl.BasicNotifierImpl - java:/Objects/org.eclipse.emf.common.notify.impl.AdapterImpl - java:/Objects/org.eclipse.emf.common.notify.impl.NotifyingListImpl - java:/Objects/org.eclipse.emf.common.notify.NotifyingList - java:/Objects/org.eclipse.emf.common.notify.impl.NotificationImpl - java:/Objects/org.eclipse.core.internal.jobs.InternalJob - java:/Objects/org.eclipse.core.runtime.IAdaptable - java:/Objects/org.eclipse.core.runtime.jobs.IJobChangeListener - java:/Objects/org.eclipse.core.runtime.jobs.IJobFunction - java:/Objects/org.eclipse.core.runtime.ICoreRunnable - java:/Objects/org.eclipse.core.runtime.jobs.JobGroup - java:/Objects/org.eclipse.core.runtime.jobs.IJobManager - java:/Objects/org.eclipse.core.runtime.QualifiedName - java:/Objects/org.eclipse.core.runtime.jobs.ISchedulingRule - java:/Objects/org.eclipse.core.runtime.OperationCanceledException - java:/Objects/org.eclipse.core.runtime.PlatformObject - java:/Objects/org.eclipse.core.internal.jobs.JobManager - java:/Objects/org.eclipse.core.internal.jobs.ObjectMap - java:/Objects/org.eclipse.osgi.service.debug.DebugOptionsListener - java:/Objects/org.eclipse.core.runtime.jobs.JobChangeAdapter - java:/Objects/org.eclipse.core.runtime.jobs.IJobChangeEvent - java:/Objects/org.eclipse.core.internal.jobs.ThreadJob - java:/Objects/org.eclipse.core.internal.jobs.InternalJobGroup - java:/Objects/org.eclipse.core.internal.jobs.JobQueue - java:/Objects/org.eclipse.core.internal.jobs.LockManager - java:/Objects/org.eclipse.core.runtime.jobs.ILock - java:/Objects/org.eclipse.core.runtime.jobs.LockListener - java:/Objects/org.eclipse.core.runtime.jobs.ProgressProvider - java:/Objects/org.eclipse.core.internal.jobs.Worker - java:/Objects/org.eclipse.core.internal.jobs.ImplicitJobs - java:/Objects/org.eclipse.core.internal.jobs.InternalWorker - java:/Objects/org.eclipse.core.internal.jobs.JobListeners - java:/Objects/org.eclipse.core.internal.jobs.WorkerPool - java:/Objects/org.eclipse.core.internal.jobs.Counter - java:/Objects/org.eclipse.core.runtime.MultiStatus - java:/Objects/org.eclipse.core.internal.jobs.OrderedLock - java:/Objects/org.eclipse.core.internal.jobs.DeadlockDetector - java:/Objects/org.eclipse.core.internal.jobs.Semaphore - java:/Objects/org.eclipse.core.internal.jobs.Queue - java:/Objects/org.eclipse.core.internal.jobs.Deadlock - java:/Objects/org.eclipse.core.internal.jobs.JobChangeEvent - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/MetamodelValidator.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/validation/QueryAndMetamodelValidator.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/MetamodelLoader.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ModelLoader.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/QueryLoader.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/SolverLoader.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/ScopeLoader.xtend - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/NullWorkspace.xtend - java:/Objects/java.lang.System - platform:/resource/hu.bme.mit.inf.dslreasoner.application/src/hu/bme/mit/inf/dslreasoner/application/execution/EclipseBasedProgressMonitor.xtend - java:/Objects/org.eclipse.emf.ecore.EcorePackage - java:/Objects/org.eclipse.emf.ecore.EcoreFactory - java:/Objects/java.io.Console - java:/Objects/java.io.FileOutputStream - ../inputs/SatelliteInstance.xmi - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptConsole - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptConsoleDecorator - java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneSetup - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.StandardOutputBasedScriptConsole - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.util.ApplicationConfigurationParser - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.PatternLanguageWithRSSetup - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.PatternLanguageWithRSModule - java:/Objects/hu.bme.mit.inf.dslreasoner.application.ApplicationConfigurationStandaloneRuntimeModule - java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.ApplicationConfigurationValidator - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.MetamodelLoader - java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.MetamodelValidator - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader - java:/Objects/hu.bme.mit.inf.dslreasoner.application.validation.QueryAndMetamodelValidator - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.QueryLoader - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.ScopeLoader - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.SolverLoader - java:/Objects/hu.bme.mit.inf.dslreasoner.application.valueconverter.QualifiedNameValueConverter - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.NullWorkspace - java:/Objects/hu.bme.mit.inf.dslreasoner.application.execution.EclipseBasedProgressMonitor - java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.count - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.AggregatorType - java:/Objects/org.eclipse.viatra.query.runtime.matchers.psystem.aggregations.IAggregatorFactory - java:/Objects/java.lang.annotation.Inherited - java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.min - ../src/hu/bme/mit/inf/dslreasoner/domains/satellite/metrics/SatelliteMetrics.vql - java:/Objects/org.eclipse.viatra.query.runtime.matchers.aggregators.max - java:/Objects/hu.bme.mit.inf.dslreasoner.domains.satellite.SpacecraftKind - - - - - - - - - - - - - - bold - - - - - - - bold - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - italic - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - bold - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - bold - - - - - - - - - - - bold - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - - - labelSize - - - labelSize - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - italic - - - - - - - - - - - bold - - - - - - - - - - - bold - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - 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 index ae9197da..3e5cdafb 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.ecore @@ -1,9 +1,6 @@ - -
- @@ -24,42 +21,21 @@ - - -
- - - - - - - - - - - + - - - - - - - - - - + + + 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 index f8b6d75b..2d538c06 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.genmodel @@ -11,21 +11,6 @@ satellite.ecore - - - - - - - - - - - - - - - @@ -40,12 +25,8 @@ - - - - - + @@ -55,5 +36,9 @@ + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin new file mode 100644 index 00000000..33059424 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin_diagram b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin_diagram new file mode 100644 index 00000000..a5c675d8 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite.henshin_diagram @@ -0,0 +1,131 @@ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite_fixup.henshin b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite_fixup.henshin new file mode 100644 index 00000000..5cc76605 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/model/satellite_fixup.henshin @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/errors.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/errors.txt new file mode 100644 index 00000000..5267304c --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/errors.txt @@ -0,0 +1,13 @@ +Error occured (DiagnosticWrappedException): org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'band' not found. (file:///home/kris/bme/research/VIATRA-Generator/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/inputs/SatelliteInstance.xmi, 11, 24) + org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319) + org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278) + org.eclipse.xtext.resource.XtextResourceSet.getResource(XtextResourceSet.java:265) + org.eclipse.xtext.resource.SynchronizedXtextResourceSet.getResource(SynchronizedXtextResourceSet.java:25) + hu.bme.mit.inf.dslreasoner.application.execution.ModelLoader.loadModel(ModelLoader.java:41) + hu.bme.mit.inf.dslreasoner.application.execution.GenerationTaskExecutor.executeGenerationTask(GenerationTaskExecutor.java:177) + hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor._execute(ScriptExecutor.java:137) + hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.execute(ScriptExecutor.java:358) + hu.bme.mit.inf.dslreasoner.application.execution.ScriptExecutor.executeScript(ScriptExecutor.java:118) + hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:155) + hu.bme.mit.inf.dslreasoner.application.execution.StandaloneScriptExecutor.executeScript(StandaloneScriptExecutor.java:147) + hu.bme.mit.inf.dslreasoner.domains.satellite.runner.SatelliteGeneratorMain.main(SatelliteGeneratorMain.java:13) diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated index 853b7b54..b42023a4 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generated3valued.vql_deactivated @@ -109,23 +109,23 @@ private pattern mayInstanceOfConstellationMission_class(problem:LogicProblem, in { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewConstellationMission_class(problem, interpretation); neg find isPrimitive(element); } or @@ -153,21 +153,21 @@ private pattern mayInstanceOfInterferometryMission_class(problem:LogicProblem, i { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryMission_class(problem, interpretation); neg find isPrimitive(element); } or @@ -195,23 +195,23 @@ private pattern mayInstanceOfCommunicatingElement_class(problem:LogicProblem, in { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommunicatingElement_class(problem, interpretation); neg find isPrimitive(element); } or @@ -239,21 +239,21 @@ private pattern mayInstanceOfGroundStationNetwork_class(problem:LogicProblem, in { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewGroundStationNetwork_class(problem, interpretation); neg find isPrimitive(element); } or @@ -281,25 +281,25 @@ private pattern mayInstanceOfSpacecraft_class(problem:LogicProblem, interpretati { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewSpacecraft_class(problem, interpretation); neg find isPrimitive(element); } or @@ -327,21 +327,25 @@ private pattern mayInstanceOfCommSubsystem_class(problem:LogicProblem, interpret { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommSubsystem_class(problem, interpretation); neg find isPrimitive(element); } or @@ -369,19 +373,19 @@ private pattern mayInstanceOfDirectedCommunicationLink_class(problem:LogicProble { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewDirectedCommunicationLink_class(problem, interpretation); neg find isPrimitive(element); } or @@ -409,21 +413,21 @@ private pattern mayInstanceOfPayload_class(problem:LogicProblem, interpretation: { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find scopeDisallowsNewPayload_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find scopeDisallowsNewPayload_class(problem, interpretation); neg find isPrimitive(element); } or @@ -451,19 +455,19 @@ private pattern mayInstanceOfInterferometryPayload_class(problem:LogicProblem, i { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryPayload_class(problem, interpretation); neg find isPrimitive(element); } or @@ -491,25 +495,25 @@ private pattern mayInstanceOfCubeSat3U_class(problem:LogicProblem, interpretatio { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat3U_class(problem, interpretation); neg find isPrimitive(element); } or @@ -537,25 +541,25 @@ private pattern mayInstanceOfCubeSat6U_class(problem:LogicProblem, interpretatio { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfSmallSat_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfSmallSat_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat6U_class(problem, interpretation); neg find isPrimitive(element); } or @@ -583,23 +587,23 @@ private pattern mayInstanceOfSmallSat_class(problem:LogicProblem, interpretation { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewSmallSat_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewSmallSat_class(problem, interpretation); neg find isPrimitive(element); } or @@ -627,94 +631,163 @@ private pattern mayInstanceOfCubeSat_class(problem:LogicProblem, interpretation: { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat_class(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCubeSat_class(problem, interpretation); neg find isPrimitive(element); } or { find mustInstanceOfCubeSat_class(problem,interpretation,element); } /** - * An element must be an instance of type "TransceiverBand enum". + * An element must be an instance of type "UHFCommSubsystem class". */ -private pattern mustInstanceOfTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"TransceiverBand enum"); +private pattern mustInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"UHFCommSubsystem class"); find directInstanceOf(problem,interpretation,element,type); } -private pattern scopeDisallowsNewTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation) { +private pattern scopeDisallowsNewUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { find interpretation(problem,interpretation); PartialInterpretation.scopes(interpretation,scope); Scope.targetTypeInterpretation(scope,typeInterpretation); Scope.maxNewElements(scope,0); PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"TransceiverBand enum"); + Type.name(type,"UHFCommSubsystem class"); } /** - * An element may be an instance of type "TransceiverBand enum". + * An element may be an instance of type "UHFCommSubsystem class". */ -private pattern mayInstanceOfTransceiverBand_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfTransceiverBand_enum(problem,interpretation,element); } +private pattern mayInstanceOfUHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or { + find interpretation(problem,interpretation); + PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewUHFCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or +{ find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); } /** - * An element must be an instance of type "AntennaGain enum". + * An element must be an instance of type "XCommSubsystem class". */ -private pattern mustInstanceOfAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"AntennaGain enum"); +private pattern mustInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"XCommSubsystem class"); find directInstanceOf(problem,interpretation,element,type); } -private pattern scopeDisallowsNewAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation) { +private pattern scopeDisallowsNewXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { find interpretation(problem,interpretation); PartialInterpretation.scopes(interpretation,scope); Scope.targetTypeInterpretation(scope,typeInterpretation); Scope.maxNewElements(scope,0); PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"AntennaGain enum"); + Type.name(type,"XCommSubsystem class"); } /** - * An element may be an instance of type "AntennaGain enum". + * An element may be an instance of type "XCommSubsystem class". */ -private pattern mayInstanceOfAntennaGain_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfAntennaGain_enum(problem,interpretation,element); } +private pattern mayInstanceOfXCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or { + find interpretation(problem,interpretation); + PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewXCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or +{ find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); } /** - * An element must be an instance of type "SpacecraftKind enum". + * An element must be an instance of type "KaCommSubsystem class". */ -private pattern mustInstanceOfSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { - Type.name(type,"SpacecraftKind enum"); +private pattern mustInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"KaCommSubsystem class"); find directInstanceOf(problem,interpretation,element,type); } -private pattern scopeDisallowsNewSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation) { +private pattern scopeDisallowsNewKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation) { find interpretation(problem,interpretation); PartialInterpretation.scopes(interpretation,scope); Scope.targetTypeInterpretation(scope,typeInterpretation); Scope.maxNewElements(scope,0); PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); - Type.name(type,"SpacecraftKind enum"); + Type.name(type,"KaCommSubsystem class"); } /** - * An element may be an instance of type "SpacecraftKind enum". + * An element may be an instance of type "KaCommSubsystem class". */ -private pattern mayInstanceOfSpacecraftKind_enum(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) -{ find mustInstanceOfSpacecraftKind_enum(problem,interpretation,element); } +private pattern mayInstanceOfKaCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or { + find interpretation(problem,interpretation); + PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewKaCommSubsystem_class(problem, interpretation); + neg find isPrimitive(element); +} or +{ find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); } /** * An element must be an instance of type "ConstellationMission class DefinedPart". */ @@ -759,21 +832,21 @@ private pattern mayInstanceOfConstellationMission_class_UndefinedPart(problem:Lo { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewConstellationMission_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or @@ -822,19 +895,19 @@ private pattern mayInstanceOfInterferometryMission_class_UndefinedPart(problem:L { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find scopeDisallowsNewInterferometryMission_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or @@ -883,23 +956,23 @@ private pattern mayInstanceOfCommunicatingElement_class_UndefinedPart(problem:Lo { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommunicatingElement_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or @@ -948,21 +1021,21 @@ private pattern mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem:Lo { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewGroundStationNetwork_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or @@ -1011,23 +1084,159 @@ private pattern mayInstanceOfCommSubsystem_class_UndefinedPart(problem:LogicProb { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); + neg find isPrimitive(element); +} or { + find interpretation(problem,interpretation); + PartialInterpretation.openWorldElements(interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); +} or +{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } +/** + * An element must be an instance of type "XCommSubsystem class DefinedPart". + */ +private pattern mustInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"XCommSubsystem class DefinedPart"); + find directInstanceOf(problem,interpretation,element,type); +} +private pattern scopeDisallowsNewXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { + find interpretation(problem,interpretation); + PartialInterpretation.scopes(interpretation,scope); + Scope.targetTypeInterpretation(scope,typeInterpretation); + Scope.maxNewElements(scope,0); + PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); + Type.name(type,"XCommSubsystem class DefinedPart"); +} + +/** + * An element may be an instance of type "XCommSubsystem class DefinedPart". + */ +private pattern mayInstanceOfXCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,element); } +/** + * An element must be an instance of type "XCommSubsystem class UndefinedPart". + */ +private pattern mustInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"XCommSubsystem class UndefinedPart"); + find directInstanceOf(problem,interpretation,element,type); +} +private pattern scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { + find interpretation(problem,interpretation); + PartialInterpretation.scopes(interpretation,scope); + Scope.targetTypeInterpretation(scope,typeInterpretation); + Scope.maxNewElements(scope,0); + PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); + Type.name(type,"XCommSubsystem class UndefinedPart"); +} + +/** + * An element may be an instance of type "XCommSubsystem class UndefinedPart". + */ +private pattern mayInstanceOfXCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); + neg find isPrimitive(element); } or { find interpretation(problem,interpretation); PartialInterpretation.openWorldElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewXCommSubsystem_class_UndefinedPart(problem, interpretation); + neg find isPrimitive(element); +} or +{ find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); } +/** + * An element must be an instance of type "KaCommSubsystem class DefinedPart". + */ +private pattern mustInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"KaCommSubsystem class DefinedPart"); + find directInstanceOf(problem,interpretation,element,type); +} +private pattern scopeDisallowsNewKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { + find interpretation(problem,interpretation); + PartialInterpretation.scopes(interpretation,scope); + Scope.targetTypeInterpretation(scope,typeInterpretation); + Scope.maxNewElements(scope,0); + PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); + Type.name(type,"KaCommSubsystem class DefinedPart"); +} + +/** + * An element may be an instance of type "KaCommSubsystem class DefinedPart". + */ +private pattern mayInstanceOfKaCommSubsystem_class_DefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,element); } +/** + * An element must be an instance of type "KaCommSubsystem class UndefinedPart". + */ +private pattern mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) { + Type.name(type,"KaCommSubsystem class UndefinedPart"); + find directInstanceOf(problem,interpretation,element,type); +} +private pattern scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation) { + find interpretation(problem,interpretation); + PartialInterpretation.scopes(interpretation,scope); + Scope.targetTypeInterpretation(scope,typeInterpretation); + Scope.maxNewElements(scope,0); + PartialComplexTypeInterpretation.interpretationOf(typeInterpretation,type); + Type.name(type,"KaCommSubsystem class UndefinedPart"); +} + +/** + * An element may be an instance of type "KaCommSubsystem class UndefinedPart". + */ +private pattern mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); + neg find isPrimitive(element); +} or { + find interpretation(problem,interpretation); + PartialInterpretation.openWorldElements(interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find scopeDisallowsNewCommSubsystem_class_UndefinedPart(problem, interpretation); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); + neg find scopeDisallowsNewKaCommSubsystem_class_UndefinedPart(problem, interpretation); neg find isPrimitive(element); } or -{ find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } +{ find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); } ////////// // 1.2 Relation Declaration Indexers @@ -1302,94 +1511,6 @@ private pattern mayInRelationtarget_reference_DirectedCommunicationLink( } or { find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,source,target); } -/** - * Matcher for detecting tuples t where []kind attribute Spacecraft(source,target) - */ - private pattern mustInRelationkind_attribute_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) - { - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(problem,interpretation,source,target); - } -/** - * Matcher for detecting tuples t where []kind attribute Spacecraft(source,target) - */ - private pattern mayInRelationkind_attribute_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) - { - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind(problem,interpretation,source,target); - } -/** - * Matcher for detecting tuples t where []band attribute CommSubsystem(source,target) - */ -private pattern mustInRelationband_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>band attribute CommSubsystem(source,target) - */ -private pattern mayInRelationband_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfTransceiverBand_enum(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationband_attribute_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,source,target); -} -/** - * Matcher for detecting tuples t where []gain attribute CommSubsystem(source,target) - */ -private pattern mustInRelationgain_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem"); - PartialRelationInterpretation.relationlinks(relationIterpretation,link); - BinaryElementRelationLink.param1(link,source); - BinaryElementRelationLink.param2(link,target); -} -/** - * Matcher for detecting tuples t where <>gain attribute CommSubsystem(source,target) - */ -private pattern mayInRelationgain_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - source: DefinedElement, target:DefinedElement) -{ - find interpretation(problem,interpretation); - // The two endpoint of the link have to exist - find mayExist(problem, interpretation, source); - find mayExist(problem, interpretation, target); - // Type consistency - find mayInstanceOfCommSubsystem_class(problem,interpretation,source); - find mayInstanceOfAntennaGain_enum(problem,interpretation,target); - // There are "numberOfExistingReferences" currently existing instances of the reference from the source, - // the upper bound of the multiplicity should be considered. - numberOfExistingReferences == count find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,source,_); - check(numberOfExistingReferences < 1); -} or { - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,source,target); -} ////////// // 1.3 Relation Definition Indexers @@ -1729,7 +1850,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1737,8 +1858,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0); + find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1746,7 +1866,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); } @@ -1759,7 +1879,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1767,8 +1887,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0); + find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1776,7 +1895,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mayInstanceOfCubeSat3U_class(problem,interpretation,var_From); find mayInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); } @@ -1789,7 +1908,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1797,8 +1916,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,var_virtual0); + find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); }or{ find interpretation(problem,interpretation); @@ -1806,7 +1924,7 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); // From is exported // To is exported - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To,_var__0); + find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna(problem,interpretation,var_From,var_To); find mustInstanceOfCubeSat3U_class(problem,interpretation,var_From); find mustInstanceOfGroundStationNetwork_class(problem,interpretation,var_To); } @@ -1822,111 +1940,145 @@ private pattern twoParam_currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_do // Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingAntenna private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To, var_Band) + var_From, var_To) { find interpretation(problem,interpretation); find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // type constraint is enforced by construction // From is exported // To is exported - // Band is exported find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_Band); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual3, var_Band); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual5, var_Gain); + find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual7, var_Gain); + find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); + find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); + find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); } private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To, var_Band) + var_From, var_To) { find interpretation(problem,interpretation); find mayInstanceOfSpacecraft_class(problem,interpretation,var_From); find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // type constraint is enforced by construction // From is exported // To is exported - // Band is exported find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_Band); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual3, var_Band); - find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual5, var_Gain); + find mayEquivalent(problem, interpretation, var_virtual0, var_FromSys); find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual7, var_Gain); + find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); + find mayEquivalent(problem, interpretation, var_virtual1, var_ToSys); + find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); } private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingAntenna( problem:LogicProblem, interpretation:PartialInterpretation, - var_From, var_To, var_Band) + var_From, var_To) { find interpretation(problem,interpretation); find mustInstanceOfSpacecraft_class(problem,interpretation,var_From); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - // type constraint is enforced by construction // From is exported // To is exported - // Band is exported find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual0); find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual0,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_Band); + find mustEquivalent(problem, interpretation, var_virtual0, var_FromSys); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual2); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual2); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual2,var_virtual3); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual3, var_Band); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_From); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_From,var_virtual4); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual4); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual4,var_virtual5); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual5, var_Gain); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_To); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual6); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual6); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_virtual6,var_virtual7); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual7, var_Gain); + find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_To,var_virtual1); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); + find mustEquivalent(problem, interpretation, var_virtual1, var_ToSys); + find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_FromSys,var_ToSys); +} +// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries matchingCommSubsystem +private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( + problem:LogicProblem, interpretation:PartialInterpretation, + var_From, var_To) +{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); +} +private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( + problem:LogicProblem, interpretation:PartialInterpretation, + var_From, var_To) +{ + find interpretation(problem,interpretation); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfXCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); + find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); +} +private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem( + problem:LogicProblem, interpretation:PartialInterpretation, + var_From, var_To) +{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfXCommSubsystem_class(problem,interpretation,var_To); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_To); + // From is exported + // To is exported + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_From); + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_To); } // Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat3U private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat3U( @@ -1956,6 +2108,34 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat // Sat is exported find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); } +// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries cubeSat6U +private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( + problem:LogicProblem, interpretation:PartialInterpretation, + var_Sat) +{ + find interpretation(problem,interpretation); + find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); + // Sat is exported + find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); +} +private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( + problem:LogicProblem, interpretation:PartialInterpretation, + var_Sat) +{ + find interpretation(problem,interpretation); + find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); + // Sat is exported + find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); +} +private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSat6U( + problem:LogicProblem, interpretation:PartialInterpretation, + var_Sat) +{ + find interpretation(problem,interpretation); + find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); + // Sat is exported + find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Sat); +} // Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries communicationLoop private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_communicationLoop( problem:LogicProblem, interpretation:PartialInterpretation, @@ -2122,11 +2302,7 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_Band); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band); + neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); } private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( problem:LogicProblem, interpretation:PartialInterpretation, @@ -2143,11 +2319,7 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual2, var_Band); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band); + neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); } private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand( problem:LogicProblem, interpretation:PartialInterpretation, @@ -2164,387 +2336,12 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_Band); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand(problem,interpretation,var_TargetSubsystem,var_Band); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemBand -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Band) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Band is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual0, var_Band); + neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_matchingCommSubsystem(problem,interpretation,var_SourceSubsystem,var_TargetSubsystem); } -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Band) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Band is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual0, var_Band); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBand( +// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink +private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Band) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Band is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual0, var_Band); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries incompatibleSourceAndTargetGain -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Link) -{ - find interpretation(problem,interpretation); - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - // Link is exported - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_Gain); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Link) -{ - find interpretation(problem,interpretation); - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - // Link is exported - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mayInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mayEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual2, var_Gain); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Link) -{ - find interpretation(problem,interpretation); - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - // Link is exported - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mustInRelationsource_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual0); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); - find mustEquivalent(problem, interpretation, var_virtual0, var_SourceSubsystem); - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,var_Link); - find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,var_Link,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustEquivalent(problem, interpretation, var_virtual1, var_TargetSubsystem); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_SourceSubsystem); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_SourceSubsystem,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_Gain); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain(problem,interpretation,var_TargetSubsystem,var_Gain); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGain -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Gain) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Gain is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual0, var_Gain); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Gain) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Gain is exported - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual0, var_Gain); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGain( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm, var_Gain) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // type constraint is enforced by construction - // Comm is exported - // Gain is exported - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual0); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual0, var_Gain); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries uhfAntennaGainNotLow -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainLow -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries xAntennaGainNotMedium -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_X_TransceiverBand;DefinedElement.name(const_X_TransceiverBand,"X TransceiverBand"); //LogicProblem.elements(problem,const_X_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium(problem,interpretation,var_Comm); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries commSubsystemGainMedium -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemGainMedium( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_MEDIUM_AntennaGain;DefinedElement.name(const_MEDIUM_AntennaGain,"MEDIUM AntennaGain"); //LogicProblem.elements(problem,const_MEDIUM_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries kaAntennaGainLow -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual3, var_virtual2); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); - var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual3, var_virtual2); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - // Comm is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); - var_virtual2 == const_LOW_AntennaGain;DefinedElement.name(const_LOW_AntennaGain,"LOW AntennaGain"); //LogicProblem.elements(problem,const_LOW_AntennaGain); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual3); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual3, var_virtual2); -} -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries threeUCubeSatWithNonUhfCrossLink -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Sat) + var_Sat) { find interpretation(problem,interpretation); find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Sat); @@ -2626,39 +2423,27 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell var_Comm) { find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); } private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( problem:LogicProblem, interpretation:PartialInterpretation, var_Comm) { find interpretation(problem,interpretation); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual1, var_virtual0); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); } private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_commSubsystemBandUhf( problem:LogicProblem, interpretation:PartialInterpretation, var_Comm) { find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); // Comm is exported - var_virtual0 == const_UHF_TransceiverBand;DefinedElement.name(const_UHF_TransceiverBand,"UHF TransceiverBand"); //LogicProblem.elements(problem,const_UHF_TransceiverBand); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_Comm); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_Comm,var_virtual1); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual1, var_virtual0); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,var_Comm); } // Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries groundStationNetwork private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_groundStationNetwork( @@ -2696,13 +2481,11 @@ private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satell find interpretation(problem,interpretation); find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); // Spacecraft is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_virtual0); + find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); + find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); neg find mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); } private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( @@ -2712,13 +2495,11 @@ private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satelli find interpretation(problem,interpretation); find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); // Spacecraft is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); find mayInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); - find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); - // type constraint is enforced by construction - find mayEquivalent(problem, interpretation, var_virtual2, var_virtual0); + find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); + find mayInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); + find mayEquivalent(problem, interpretation, var_virtual0, var_Comm); + find mayInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); neg find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); } private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_cubeSatWithKaAntenna( @@ -2728,13 +2509,11 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat find interpretation(problem,interpretation); find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); // Spacecraft is exported - var_virtual0 == const_Ka_TransceiverBand;DefinedElement.name(const_Ka_TransceiverBand,"Ka TransceiverBand"); //LogicProblem.elements(problem,const_Ka_TransceiverBand); find mustInstanceOfCommunicatingElement_class(problem,interpretation,var_Spacecraft); - find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual1); - find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual1); - find mustInRelationband_attribute_CommSubsystem(problem,interpretation,var_virtual1,var_virtual2); - // type constraint is enforced by construction - find mustEquivalent(problem, interpretation, var_virtual2, var_virtual0); + find mustInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,var_Spacecraft,var_virtual0); + find mustInstanceOfCommSubsystem_class(problem,interpretation,var_virtual0); + find mustEquivalent(problem, interpretation, var_virtual0, var_Comm); + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,var_Comm); neg find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_smallSat(problem,interpretation,var_Spacecraft); } // Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries smallSat @@ -2765,100 +2544,6 @@ private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_sat // Sat is exported find mustInstanceOfSmallSat_class(problem,interpretation,var_Sat); } -// Must, May and Current queries for pattern hu bme mit inf dslreasoner domains satellite queries spacecraftOfKind -private pattern mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft, var_Kind) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -} -private pattern mayInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft, var_Kind) -{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mayInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind); - find mayEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mayInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind); - find mayEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mayInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mayInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind); - find mayEquivalent(problem, interpretation, var_Kind, var_virtual0); -} -private pattern currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_spacecraftOfKind( - problem:LogicProblem, interpretation:PartialInterpretation, - var_Spacecraft, var_Kind) -{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfCubeSat3U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat3U_SpacecraftKind;DefinedElement.name(const_CubeSat3U_SpacecraftKind,"CubeSat3U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat3U_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfCubeSat6U_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_CubeSat6U_SpacecraftKind;DefinedElement.name(const_CubeSat6U_SpacecraftKind,"CubeSat6U SpacecraftKind"); //LogicProblem.elements(problem,const_CubeSat6U_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -}or{ - find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,var_Spacecraft); - // type constraint is enforced by construction - // Spacecraft is exported - // Kind is exported - find mustInstanceOfSmallSat_class(problem,interpretation,var_Spacecraft); - var_virtual0 == const_SmallSat_SpacecraftKind;DefinedElement.name(const_SmallSat_SpacecraftKind,"SmallSat SpacecraftKind"); //LogicProblem.elements(problem,const_SmallSat_SpacecraftKind); - find mustEquivalent(problem, interpretation, var_Kind, var_virtual0); -} ////////// // 1.4 Containment Indexer @@ -2918,26 +2603,6 @@ pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queri { find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); } -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem:LogicProblem, interpretation:PartialInterpretation, - var_Link) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem,interpretation,var_Link); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem,interpretation,var_Comm); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem,interpretation,var_Comm); -} -pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find mustInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem,interpretation,var_Comm); -} pattern invalidatedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, var_Sat) { @@ -2999,24 +2664,6 @@ pattern unfinishedLowerMultiplicity_target_reference_DirectedCommunicationLink(p check(numberOfExistingReferences < 1); missingMultiplicity == eval(1-numberOfExistingReferences); } -pattern unfinishedLowerMultiplicity_band_attribute_CommSubsystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem"); - find mustInstanceOfCommSubsystem_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationband_attribute_CommSubsystem(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} -pattern unfinishedLowerMultiplicity_gain_attribute_CommSubsystem(problem:LogicProblem, interpretation:PartialInterpretation, relationIterpretation:PartialRelationInterpretation, object:DefinedElement,missingMultiplicity) { - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem"); - find mustInstanceOfCommSubsystem_class(problem,interpretation,object); - numberOfExistingReferences == count find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,object,_); - check(numberOfExistingReferences < 1); - missingMultiplicity == eval(1-numberOfExistingReferences); -} ////////// // 3.2 Unfinishedness Measured by WF Queries @@ -3051,26 +2698,6 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie { find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetBand(problem,interpretation,var_Link); } -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem:LogicProblem, interpretation:PartialInterpretation, - var_Link) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_incompatibleSourceAndTargetGain(problem,interpretation,var_Link); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_uhfAntennaGainNotLow(problem,interpretation,var_Comm); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_xAntennaGainNotMedium(problem,interpretation,var_Comm); -} -pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem:LogicProblem, interpretation:PartialInterpretation, - var_Comm) -{ - find currentInRelation_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_kaAntennaGainLow(problem,interpretation,var_Comm); -} pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_queries_threeUCubeSatWithNonUhfCrossLink(problem:LogicProblem, interpretation:PartialInterpretation, var_Sat) { @@ -3090,55 +2717,67 @@ pattern unfinishedBy_pattern_hu_bme_mit_inf_dslreasoner_domains_satellite_querie private pattern hasElementInContainment(problem:LogicProblem, interpretation:PartialInterpretation) { find interpretation(problem,interpretation); - find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); + find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfSpacecraft_class(problem,interpretation,root); + find mustInstanceOfInterferometryMission_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); + find mustInstanceOfCubeSat6U_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfCubeSat_class(problem,interpretation,root); + find mustInstanceOfCommSubsystem_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfConstellationMission_class(problem,interpretation,root); + find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfInterferometryMission_class(problem,interpretation,root); + find mustInstanceOfCubeSat3U_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfCubeSat3U_class(problem,interpretation,root); + find mustInstanceOfConstellationMission_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); + find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfCubeSat6U_class(problem,interpretation,root); + find mustInstanceOfKaCommSubsystem_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfSmallSat_class(problem,interpretation,root); + find mustInstanceOfPayload_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfCommSubsystem_class(problem,interpretation,root); + find mustInstanceOfCubeSat_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfGroundStationNetwork_class(problem,interpretation,root); + find mustInstanceOfCommunicatingElement_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); - find mustInstanceOfPayload_class(problem,interpretation,root); + find mustInstanceOfSmallSat_class(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfInterferometryPayload_class(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfSpacecraft_class(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfXCommSubsystem_class(problem,interpretation,root); find mustExist(problem, interpretation, root); }or{ find interpretation(problem,interpretation); @@ -3180,44 +2819,76 @@ private pattern hasElementInContainment(problem:LogicProblem, interpretation:Par find interpretation(problem,interpretation); find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,root); find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfXCommSubsystem_class_DefinedPart(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfKaCommSubsystem_class_DefinedPart(problem,interpretation,root); + find mustExist(problem, interpretation, root); +}or{ + find interpretation(problem,interpretation); + find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,root); + find mustExist(problem, interpretation, root); } -pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( +pattern createObject_KaCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); - find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); + find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); + find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_DirectedCommunicationLink_class( +pattern createObject_KaCommSubsystem_class_UndefinedPart( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"KaCommSubsystem class UndefinedPart"); + find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_InterferometryMission_class_UndefinedPart( +pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( + problem:LogicProblem, interpretation:PartialInterpretation, + relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, + container:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); + PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); + find mustInstanceOfConstellationMission_class(problem,interpretation,container); + find mayInstanceOfSmallSat_class(problem,interpretation,newObject); + find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); + find mustExist(problem, interpretation, container); + neg find mustExist(problem, interpretation, newObject); +} +pattern createObject_SmallSat_class( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); + find mayInstanceOfSmallSat_class(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } @@ -3249,143 +2920,183 @@ pattern createObject_InterferometryPayload_class( find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( +pattern createObject_DirectedCommunicationLink_class_by_communicationLink_reference_CommunicatingElement( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"communicationLink reference CommunicatingElement"); + find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); + find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); + find mayInRelationcommunicationLink_reference_CommunicatingElement(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_GroundStationNetwork_class_UndefinedPart( +pattern createObject_DirectedCommunicationLink_class( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"DirectedCommunicationLink class"); + find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( +pattern createObject_UHFCommSubsystem_class_by_commSubsystem_reference_CommunicatingElement( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); - find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); - find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); + find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); + find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CubeSat3U_class( +pattern createObject_UHFCommSubsystem_class( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); - find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"UHFCommSubsystem class"); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_SmallSat_class_by_spacecraft_reference_ConstellationMission( +pattern createObject_XCommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); + PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); + find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); + find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); + find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); + find mustExist(problem, interpretation, container); + neg find mustExist(problem, interpretation, newObject); +} +pattern createObject_XCommSubsystem_class_UndefinedPart( + problem:LogicProblem, interpretation:PartialInterpretation, + typeInterpretation:PartialComplexTypeInterpretation) +{ + find interpretation(problem,interpretation); + neg find hasElementInContainment(problem,interpretation); + PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"XCommSubsystem class UndefinedPart"); + find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); + find mayExist(problem, interpretation, newObject); + neg find mustExist(problem, interpretation, newObject); +} +pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( + problem:LogicProblem, interpretation:PartialInterpretation, + relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, + container:DefinedElement) +{ + find interpretation(problem,interpretation); + PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); + find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_SmallSat_class( +pattern createObject_CubeSat6U_class( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"SmallSat class"); - find mayInstanceOfSmallSat_class(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); + find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CommSubsystem_class_UndefinedPart_by_commSubsystem_reference_CommunicatingElement( +pattern createObject_GroundStationNetwork_class_UndefinedPart_by_groundStationNetwork_reference_ConstellationMission( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CommSubsystem class UndefinedPart"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); - PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"commSubsystem reference CommunicatingElement"); - find mustInstanceOfCommunicatingElement_class(problem,interpretation,container); - find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); - find mayInRelationcommSubsystem_reference_CommunicatingElement(problem,interpretation,container,newObject); + PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"groundStationNetwork reference ConstellationMission"); + find mustInstanceOfConstellationMission_class(problem,interpretation,container); + find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); + find mayInRelationgroundStationNetwork_reference_ConstellationMission(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CommSubsystem_class_UndefinedPart( +pattern createObject_GroundStationNetwork_class_UndefinedPart( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CommSubsystem class UndefinedPart"); - find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"GroundStationNetwork class UndefinedPart"); + find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CubeSat6U_class_by_spacecraft_reference_ConstellationMission( +pattern createObject_CubeSat3U_class_by_spacecraft_reference_ConstellationMission( problem:LogicProblem, interpretation:PartialInterpretation, relationInterpretation:PartialRelationInterpretation, typeInterpretation:PartialComplexTypeInterpretation, container:DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); PartialInterpretation.partialrelationinterpretation(interpretation,relationInterpretation); PartialRelationInterpretation.interpretationOf.name(relationInterpretation,"spacecraft reference ConstellationMission"); find mustInstanceOfConstellationMission_class(problem,interpretation,container); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); + find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); find mayInRelationspacecraft_reference_ConstellationMission(problem,interpretation,container,newObject); find mustExist(problem, interpretation, container); neg find mustExist(problem, interpretation, newObject); } -pattern createObject_CubeSat6U_class( +pattern createObject_CubeSat3U_class( problem:LogicProblem, interpretation:PartialInterpretation, typeInterpretation:PartialComplexTypeInterpretation) { find interpretation(problem,interpretation); neg find hasElementInContainment(problem,interpretation); PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); - PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat6U class"); - find mayInstanceOfCubeSat6U_class(problem,interpretation,newObject); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"CubeSat3U class"); + find mayInstanceOfCubeSat3U_class(problem,interpretation,newObject); + find mayExist(problem, interpretation, newObject); + neg find mustExist(problem, interpretation, newObject); +} +pattern createObject_InterferometryMission_class_UndefinedPart( + problem:LogicProblem, interpretation:PartialInterpretation, + typeInterpretation:PartialComplexTypeInterpretation) +{ + find interpretation(problem,interpretation); + neg find hasElementInContainment(problem,interpretation); + PartialInterpretation.partialtypeinterpratation(interpretation,typeInterpretation); + PartialComplexTypeInterpretation.interpretationOf.name(typeInterpretation,"InterferometryMission class UndefinedPart"); + find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,newObject); find mayExist(problem, interpretation, newObject); neg find mustExist(problem, interpretation, newObject); } @@ -3393,94 +3104,120 @@ pattern createObject_CubeSat6U_class( ////////// // 4.2 Type refinement ////////// -pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_KaCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); + find mayInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); } -pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); + find mayInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat_class(problem,interpretation,element); + neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } pattern refineTypeTo_InterferometryPayload_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); find mayInstanceOfInterferometryPayload_class(problem,interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfInterferometryPayload_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); } -pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_DirectedCommunicationLink_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); + find mayInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); +} +pattern refineTypeTo_UHFCommSubsystem_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + find mayInstanceOfUHFCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); - neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); } -pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_XCommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat3U_class(problem,interpretation,element); + find mayInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfUHFCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfKaCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfXCommSubsystem_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); +} +pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { + find interpretation(problem,interpretation); + PartialInterpretation.newElements(interpretation,element); + find mayInstanceOfCubeSat6U_class(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfSmallSat_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); } -pattern refineTypeTo_SmallSat_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_GroundStationNetwork_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); - neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + find mayInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfSpacecraft_class(problem,interpretation,element); neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfPayload_class(problem,interpretation,element); } -pattern refineTypeTo_CommSubsystem_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_CubeSat3U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); + find mayInstanceOfCubeSat3U_class(problem,interpretation,element); + neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); + neg find mustInstanceOfSmallSat_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); + neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class_UndefinedPart(problem,interpretation,element); } -pattern refineTypeTo_CubeSat6U_class(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { +pattern refineTypeTo_InterferometryMission_class_UndefinedPart(problem:LogicProblem, interpretation:PartialInterpretation, element: DefinedElement) { find interpretation(problem,interpretation); PartialInterpretation.newElements(interpretation,element); - find mayInstanceOfCubeSat6U_class(problem,interpretation,element); + find mayInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); + neg find mustInstanceOfCommunicatingElement_class(problem,interpretation,element); + neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); neg find mustInstanceOfDirectedCommunicationLink_class(problem,interpretation,element); + neg find mustInstanceOfInterferometryMission_class_UndefinedPart(problem,interpretation,element); neg find mustInstanceOfPayload_class(problem,interpretation,element); - neg find mustInstanceOfConstellationMission_class(problem,interpretation,element); - neg find mustInstanceOfGroundStationNetwork_class(problem,interpretation,element); - neg find mustInstanceOfCommSubsystem_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat3U_class(problem,interpretation,element); - neg find mustInstanceOfSmallSat_class(problem,interpretation,element); - neg find mustInstanceOfCubeSat6U_class(problem,interpretation,element); } ////////// @@ -3516,49 +3253,4 @@ pattern refineRelation_target_reference_DirectedCommunicationLink( find mayInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); neg find mustInRelationtarget_reference_DirectedCommunicationLink(problem,interpretation,from,to); } -pattern refineRelation_kind_attribute_Spacecraft( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"kind attribute Spacecraft"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfSpacecraft_class(problem,interpretation,from); - find mustInstanceOfSpacecraftKind_enum(problem,interpretation,to); - find mayInRelationkind_attribute_Spacecraft(problem,interpretation,from,to); - neg find mustInRelationkind_attribute_Spacecraft(problem,interpretation,from,to); -} -pattern refineRelation_band_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"band attribute CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfTransceiverBand_enum(problem,interpretation,to); - find mayInRelationband_attribute_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationband_attribute_CommSubsystem(problem,interpretation,from,to); -} -pattern refineRelation_gain_attribute_CommSubsystem( - problem:LogicProblem, interpretation:PartialInterpretation, - relationIterpretation:PartialRelationInterpretation, - from: DefinedElement, to: DefinedElement) -{ - find interpretation(problem,interpretation); - PartialInterpretation.partialrelationinterpretation(interpretation,relationIterpretation); - PartialRelationInterpretation.interpretationOf.name(relationIterpretation,"gain attribute CommSubsystem"); - find mustExist(problem, interpretation, from); - find mustExist(problem, interpretation, to); - find mustInstanceOfCommSubsystem_class(problem,interpretation,from); - find mustInstanceOfAntennaGain_enum(problem,interpretation,to); - find mayInRelationgain_attribute_CommSubsystem(problem,interpretation,from,to); - neg find mustInRelationgain_attribute_CommSubsystem(problem,interpretation,from,to); -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem index 2a54174a..605a5a23 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/generation.logicproblem @@ -5,7 +5,7 @@ - + @@ -13,19 +13,23 @@ - - - - + + + + - + - + - + - - + + + + + + @@ -746,335 +750,116 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + - + - - + + @@ -1107,19 +892,7 @@ - - - - - - - - - - - - - + @@ -1137,30 +910,30 @@ - - + + - - + + - - + + - + - - + + - + @@ -1168,18 +941,18 @@ - + - - + + - + @@ -1194,26 +967,26 @@ - + - - - + + + - - - + + + - - + + - + @@ -1229,22 +1002,22 @@ - - + + - - + + - + - + @@ -1259,32 +1032,32 @@ - - + + - + - - + + - + - - - + + + - + @@ -1299,32 +1072,32 @@ - - + + - + - - + + - + - - - + + + - + @@ -1335,11 +1108,11 @@ - + - + @@ -1349,137 +1122,124 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - + - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1487,27 +1247,41 @@ - + - + + + + + + + + + + + + + + + - - - + + + - + @@ -1518,11 +1292,11 @@ - + - + @@ -1544,34 +1318,34 @@ - - + + - - + + - - + + - + - - + + - + - + @@ -1584,252 +1358,34 @@ - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1850,71 +1406,62 @@ - + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + + - - - - - - - - - - - + - + @@ -1922,52 +1469,45 @@ - + - + - - - - - + + - + - - - - - - + + - - - + + + - - + + - + @@ -1975,68 +1515,17 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + + + @@ -2049,55 +1538,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel index 6589a3ca..326d09ce 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/debug/init.partialmodel @@ -1,11 +1,11 @@ - + - - + + @@ -18,12 +18,12 @@ - - + + - - + + @@ -48,37 +48,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -86,27 +55,27 @@ - + - + - + - + - + - - + + @@ -118,33 +87,50 @@ - + - + - + - + - + + + + + + + + + + + + - + - + - + - + + + + + + + @@ -167,4 +153,9 @@ + + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt index 1d3c9f62..67589bd9 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/log.txt @@ -1 +1 @@ -Model generation started +Model generation finished diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml index 59498c9f..59a81169 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.gml @@ -5,8 +5,8 @@ graph id 0 graphics [ - w 244.20000000000002 - h 40 + w 315.70000000000005 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -14,7 +14,7 @@ graph ] LabelGraphics [ - text "UHF literal TransceiverBand" + text "o 1" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -26,7 +26,10 @@ graph LabelGraphics [ text " - TransceiverBand enum + ConstellationMission class DefinedPart + InterferometryMission class DefinedPart + ConstellationMission class + InterferometryMission class " fontSize 14 fontName "Consolas" @@ -41,8 +44,8 @@ graph id 1 graphics [ - w 226.60000000000002 - h 40 + w 308.0 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -50,7 +53,7 @@ graph ] LabelGraphics [ - text "X literal TransceiverBand" + text "o 2" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -62,7 +65,10 @@ graph LabelGraphics [ text " - TransceiverBand enum + CommunicatingElement class DefinedPart + GroundStationNetwork class DefinedPart + CommunicatingElement class + GroundStationNetwork class " fontSize 14 fontName "Consolas" @@ -77,8 +83,8 @@ graph id 2 graphics [ - w 235.4 - h 40 + w 261.8 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -86,7 +92,7 @@ graph ] LabelGraphics [ - text "Ka literal TransceiverBand" + text "o 3" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -98,7 +104,10 @@ graph LabelGraphics [ text " - TransceiverBand enum + CommSubsystem class DefinedPart + XCommSubsystem class DefinedPart + CommSubsystem class + XCommSubsystem class " fontSize 14 fontName "Consolas" @@ -113,8 +122,8 @@ graph id 3 graphics [ - w 209.00000000000003 - h 40 + w 269.5 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -122,7 +131,7 @@ graph ] LabelGraphics [ - text "LOW literal AntennaGain" + text "o 4" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -134,7 +143,10 @@ graph LabelGraphics [ text " - AntennaGain enum + CommSubsystem class DefinedPart + KaCommSubsystem class DefinedPart + CommSubsystem class + KaCommSubsystem class " fontSize 14 fontName "Consolas" @@ -149,8 +161,8 @@ graph id 4 graphics [ - w 235.4 - h 40 + w 41.800000000000004 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -158,7 +170,7 @@ graph ] LabelGraphics [ - text "MEDIUM literal AntennaGain" + text "true" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -170,7 +182,6 @@ graph LabelGraphics [ text " - AntennaGain enum " fontSize 14 fontName "Consolas" @@ -185,8 +196,8 @@ graph id 5 graphics [ - w 217.8 - h 40 + w 50.6 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -194,7 +205,7 @@ graph ] LabelGraphics [ - text "HIGH literal AntennaGain" + text "false" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -206,7 +217,6 @@ graph LabelGraphics [ text " - AntennaGain enum " fontSize 14 fontName "Consolas" @@ -221,8 +231,8 @@ graph id 6 graphics [ - w 288.20000000000005 - h 40 + w 323.40000000000003 + h 96 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -230,7 +240,7 @@ graph ] LabelGraphics [ - text "CubeSat3U literal SpacecraftKind" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -242,7 +252,11 @@ graph LabelGraphics [ text " - SpacecraftKind enum + CommunicatingElement class + Spacecraft class + CubeSat3U class + CubeSat class + CommunicatingElement class UndefinedPart " fontSize 14 fontName "Consolas" @@ -257,8 +271,8 @@ graph id 7 graphics [ - w 288.20000000000005 - h 40 + w 277.20000000000005 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -266,7 +280,7 @@ graph ] LabelGraphics [ - text "CubeSat6U literal SpacecraftKind" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -278,7 +292,10 @@ graph LabelGraphics [ text " - SpacecraftKind enum + CommSubsystem class + XCommSubsystem class + CommSubsystem class UndefinedPart + XCommSubsystem class UndefinedPart " fontSize 14 fontName "Consolas" @@ -293,8 +310,8 @@ graph id 8 graphics [ - w 279.40000000000003 - h 40 + w 277.20000000000005 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -302,7 +319,7 @@ graph ] LabelGraphics [ - text "SmallSat literal SpacecraftKind" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -314,7 +331,10 @@ graph LabelGraphics [ text " - SpacecraftKind enum + CommSubsystem class + XCommSubsystem class + CommSubsystem class UndefinedPart + XCommSubsystem class UndefinedPart " fontSize 14 fontName "Consolas" @@ -329,7 +349,7 @@ graph id 9 graphics [ - w 315.70000000000005 + w 323.40000000000003 h 82 type "rectangle" fill "#FFFFFF" @@ -338,7 +358,7 @@ graph ] LabelGraphics [ - text "o 1" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -350,10 +370,10 @@ graph LabelGraphics [ text " - ConstellationMission class DefinedPart - InterferometryMission class DefinedPart - ConstellationMission class - InterferometryMission class + CommunicatingElement class + Spacecraft class + SmallSat class + CommunicatingElement class UndefinedPart " fontSize 14 fontName "Consolas" @@ -368,7 +388,7 @@ graph id 10 graphics [ - w 308.0 + w 277.20000000000005 h 82 type "rectangle" fill "#FFFFFF" @@ -377,7 +397,7 @@ graph ] LabelGraphics [ - text "o 2" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -389,10 +409,10 @@ graph LabelGraphics [ text " - CommunicatingElement class DefinedPart - GroundStationNetwork class DefinedPart - CommunicatingElement class - GroundStationNetwork class + CommSubsystem class + XCommSubsystem class + CommSubsystem class UndefinedPart + XCommSubsystem class UndefinedPart " fontSize 14 fontName "Consolas" @@ -407,7 +427,7 @@ graph id 11 graphics [ - w 254.10000000000002 + w 223.3 h 54 type "rectangle" fill "#FFFFFF" @@ -416,7 +436,7 @@ graph ] LabelGraphics [ - text "o 3" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -428,8 +448,8 @@ graph LabelGraphics [ text " - CommSubsystem class DefinedPart - CommSubsystem class + Payload class + InterferometryPayload class " fontSize 14 fontName "Consolas" @@ -444,7 +464,7 @@ graph id 12 graphics [ - w 254.10000000000002 + w 223.3 h 54 type "rectangle" fill "#FFFFFF" @@ -453,7 +473,7 @@ graph ] LabelGraphics [ - text "o 4" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -465,8 +485,8 @@ graph LabelGraphics [ text " - CommSubsystem class DefinedPart - CommSubsystem class + Payload class + InterferometryPayload class " fontSize 14 fontName "Consolas" @@ -481,8 +501,8 @@ graph id 13 graphics [ - w 41.800000000000004 - h 26 + w 284.90000000000003 + h 82 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -490,7 +510,7 @@ graph ] LabelGraphics [ - text "true" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -502,6 +522,10 @@ graph LabelGraphics [ text " + CommSubsystem class + KaCommSubsystem class + CommSubsystem class UndefinedPart + KaCommSubsystem class UndefinedPart " fontSize 14 fontName "Consolas" @@ -516,8 +540,8 @@ graph id 14 graphics [ - w 50.6 - h 26 + w 254.10000000000002 + h 40 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -525,7 +549,7 @@ graph ] LabelGraphics [ - text "false" + text "null" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -537,6 +561,7 @@ graph LabelGraphics [ text " + DirectedCommunicationLink class " fontSize 14 fontName "Consolas" @@ -551,8 +576,8 @@ graph id 15 graphics [ - w 323.40000000000003 - h 96 + w 254.10000000000002 + h 40 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -572,11 +597,7 @@ graph LabelGraphics [ text " - CommunicatingElement class - Spacecraft class - CubeSat6U class - CubeSat class - CommunicatingElement class UndefinedPart + DirectedCommunicationLink class " fontSize 14 fontName "Consolas" @@ -591,8 +612,8 @@ graph id 16 graphics [ - w 323.40000000000003 - h 96 + w 112.2 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -600,7 +621,7 @@ graph ] LabelGraphics [ - text "null" + text "New Integers" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -612,11 +633,6 @@ graph LabelGraphics [ text " - CommunicatingElement class - Spacecraft class - CubeSat3U class - CubeSat class - CommunicatingElement class UndefinedPart " fontSize 14 fontName "Consolas" @@ -631,8 +647,8 @@ graph id 17 graphics [ - w 223.3 - h 54 + w 85.80000000000001 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -640,7 +656,7 @@ graph ] LabelGraphics [ - text "null" + text "New Reals" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -652,8 +668,6 @@ graph LabelGraphics [ text " - Payload class - InterferometryPayload class " fontSize 14 fontName "Consolas" @@ -668,8 +682,8 @@ graph id 18 graphics [ - w 269.5 - h 54 + w 103.4 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -677,7 +691,7 @@ graph ] LabelGraphics [ - text "null" + text "New Strings" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -689,8 +703,6 @@ graph LabelGraphics [ text " - CommSubsystem class - CommSubsystem class UndefinedPart " fontSize 14 fontName "Consolas" @@ -705,8 +717,8 @@ graph id 19 graphics [ - w 223.3 - h 54 + w 103.4 + h 26 type "rectangle" fill "#FFFFFF" fill2 "#FFFFFF" @@ -714,7 +726,7 @@ graph ] LabelGraphics [ - text "null" + text "New Objects" outline "#000000" fill "#FFFFFF" fontSize 16 @@ -726,8 +738,6 @@ graph LabelGraphics [ text " - Payload class - InterferometryPayload class " fontSize 14 fontName "Consolas" @@ -736,354 +746,31 @@ graph borderDistance 6 ] ] - - node + edge + [ + source 0 + target 1 + graphics [ - id 20 - graphics - [ - w 269.5 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] + fill "#000000" + width 3 + targetArrow "standard" ] - - node + LabelGraphics [ - id 21 - graphics - [ - w 254.10000000000002 - h 40 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - DirectedCommunicationLink class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] + text "groundStationNetwork reference ConstellationMission" + fontSize 14 + fontName "Consolas" + configuration "AutoFlippingLabel" + model "six_pos" + position "thead" ] - - node - [ - id 22 - graphics - [ - w 269.5 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 23 - graphics - [ - w 269.5 - h 54 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - CommSubsystem class - CommSubsystem class UndefinedPart - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 24 - graphics - [ - w 254.10000000000002 - h 40 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "null" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - DirectedCommunicationLink class - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 25 - graphics - [ - w 112.2 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Integers" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 26 - graphics - [ - w 85.80000000000001 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Reals" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 27 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Strings" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - - node - [ - id 28 - graphics - [ - w 103.4 - h 26 - type "rectangle" - fill "#FFFFFF" - fill2 "#FFFFFF" - outline "#000000" - ] - LabelGraphics - [ - text "New Objects" - outline "#000000" - fill "#FFFFFF" - fontSize 16 - fontName "Monospace" - autoSizePolicy "node_width" - anchor "t" - borderDistance 0.0 - ] - LabelGraphics - [ - text " - " - fontSize 14 - fontName "Consolas" - alignment "left" - anchor "tl" - borderDistance 6 - ] - ] - edge - [ - source 9 - target 10 - graphics - [ - fill "#000000" - width 3 - targetArrow "standard" - ] - LabelGraphics - [ - text "groundStationNetwork reference ConstellationMission" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 9 - target 15 - graphics + ] + edge + [ + source 0 + target 6 + graphics [ fill "#000000" width 3 @@ -1101,8 +788,8 @@ graph ] edge [ - source 9 - target 16 + source 0 + target 9 graphics [ fill "#000000" @@ -1121,8 +808,8 @@ graph ] edge [ - source 10 - target 11 + source 1 + target 2 graphics [ fill "#000000" @@ -1141,8 +828,8 @@ graph ] edge [ - source 10 - target 12 + source 1 + target 3 graphics [ fill "#000000" @@ -1161,8 +848,8 @@ graph ] edge [ - source 15 - target 18 + source 6 + target 7 graphics [ fill "#000000" @@ -1181,8 +868,8 @@ graph ] edge [ - source 16 - target 20 + source 6 + target 8 graphics [ fill "#000000" @@ -1201,8 +888,8 @@ graph ] edge [ - source 15 - target 22 + source 9 + target 10 graphics [ fill "#000000" @@ -1221,8 +908,8 @@ graph ] edge [ - source 16 - target 23 + source 9 + target 13 graphics [ fill "#000000" @@ -1241,8 +928,8 @@ graph ] edge [ - source 15 - target 21 + source 9 + target 14 graphics [ fill "#000000" @@ -1261,8 +948,8 @@ graph ] edge [ - source 16 - target 24 + source 6 + target 15 graphics [ fill "#000000" @@ -1281,8 +968,8 @@ graph ] edge [ - source 16 - target 17 + source 6 + target 11 graphics [ fill "#000000" @@ -1301,8 +988,8 @@ graph ] edge [ - source 15 - target 19 + source 9 + target 12 graphics [ fill "#000000" @@ -1321,8 +1008,8 @@ graph ] edge [ - source 21 - target 18 + source 14 + target 13 graphics [ fill "#000000" @@ -1340,8 +1027,8 @@ graph ] edge [ - source 24 - target 23 + source 15 + target 7 graphics [ fill "#000000" @@ -1359,8 +1046,8 @@ graph ] edge [ - source 21 - target 12 + source 14 + target 3 graphics [ fill "#000000" @@ -1378,64 +1065,7 @@ graph ] edge [ - source 24 - target 11 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "target reference DirectedCommunicationLink" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 11 - target 1 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 12 - target 2 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 + source 15 target 2 graphics [ @@ -1444,178 +1074,7 @@ graph ] LabelGraphics [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 20 - target 1 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 1 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 23 - target 1 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "band attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 11 - target 4 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 12 - target 5 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 18 - target 5 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 20 - target 5 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 22 - target 5 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" - fontSize 14 - fontName "Consolas" - configuration "AutoFlippingLabel" - model "six_pos" - position "thead" - ] - ] - edge - [ - source 23 - target 4 - graphics - [ - fill "#000000" - targetArrow "standard" - ] - LabelGraphics - [ - text "gain attribute CommSubsystem" + text "target reference DirectedCommunicationLink" fontSize 14 fontName "Consolas" configuration "AutoFlippingLabel" diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png index 832f8b42..bc4de349 100644 Binary files a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png and b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.png differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi index 44ca2b3e..bf29d722 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/models/1.xmi @@ -1,19 +1,19 @@ - - + + - - - - + + + + - - - - + + + + diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv index 35c220e0..e943cb62 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/outputs/statistics.csv @@ -1,3 +1,3 @@ Task;Run;Result;Domain to logic transformation time;Logic to solver transformation time;Solver time;Postprocessing time;_Solution0FoundAt;TransformationExecutionTime;TypeAnalysisTime;StateCoderTime;StateCoderFailCount;SolutionCopyTime -1;1;ModelResultImpl;580;4611;34341;4979693485;34306;19566;148;1006;0;5 +1;1;ModelResultImpl;353;3507;10950;3413867688;10905;4477;119;440;4;5 diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml index f08e6b96..77bfe02f 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/plugin.xml @@ -1,12 +1,12 @@ - - - - - - - + + + + @@ -15,17 +15,9 @@ - - - - - - - - diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore index cf45bfe0..f6cfd36a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/.gitignore @@ -24,3 +24,20 @@ /.NoPotentialLinkToGroundStation.java._trace /.SmallSat.java._trace /CommunicationLinkDoesNotStartAtContainingElement.java +/CommunicationLoop.java +/CostMetric.java +/CoverageMetric.java +/CubeSatWithKaAntenna.java +/IncompatibleSourceAndTargetBand.java +/IncompatibleSourceAndTargetGain.java +/KaAntennaGainLow.java +/NoLinkToGroundStation.java +/NoPotentialLinkToGroundStation.java +/NotEnoughInterferometryPayloads.java +/SatelliteQueries.java +/SmallSat.java +/SpacecraftOfKind.java +/ThreeUCubeSatWithNonUhfCrossLink.java +/TimeMetric.java +/UhfAntennaGainNotLow.java +/XAntennaGainNotMedium.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CostMetric.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CostMetric.java deleted file mode 100644 index 474719b2..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CostMetric.java +++ /dev/null @@ -1,544 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // Cost
- *         
- *         pattern costMetric(Cost : java Double) {
- *         	Cost == sum find missionCost(_, #_);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class CostMetric extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric pattern, - * to be used in conjunction with {@link Matcher}. - * - *

Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private Double fCost; - - private static List parameterNames = makeImmutableList("Cost"); - - private Match(final Double pCost) { - this.fCost = pCost; - } - - @Override - public Object get(final String parameterName) { - if ("Cost".equals(parameterName)) return this.fCost; - return null; - } - - public Double getCost() { - return this.fCost; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Cost".equals(parameterName) ) { - this.fCost = (Double) newValue; - return true; - } - return false; - } - - public void setCost(final Double pCost) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fCost = pCost; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric"; - } - - @Override - public List parameterNames() { - return CostMetric.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fCost}; - } - - @Override - public CostMetric.Match toImmutable() { - return isMutable() ? newMatch(fCost) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Cost\"=" + prettyPrintValue(fCost)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fCost); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof CostMetric.Match)) { - CostMetric.Match other = (CostMetric.Match) obj; - return Objects.equals(fCost, other.fCost); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public CostMetric specification() { - return CostMetric.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static CostMetric.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static CostMetric.Match newMutableMatch(final Double pCost) { - return new Mutable(pCost); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return the (partial) match object. - * - */ - public static CostMetric.Match newMatch(final Double pCost) { - return new Immutable(pCost); - } - - private static final class Mutable extends CostMetric.Match { - Mutable(final Double pCost) { - super(pCost); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends CostMetric.Match { - Immutable(final Double pCost) { - super(pCost); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric pattern, - * providing pattern-specific query methods. - * - *

Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

Matches of the pattern will be represented as {@link Match}. - * - *

Original source: - *

-   * // Cost
-   * 
-   * pattern costMetric(Cost : java Double) {
-   * 	Cost == sum find missionCost(_, #_);
-   * }
-   * 
- * - * @see Match - * @see CostMetric - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static CostMetric.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static CostMetric.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_COST = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CostMetric.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Double pCost) { - return rawStreamAllMatches(new Object[]{pCost}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

- * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final Double pCost) { - return rawStreamAllMatches(new Object[]{pCost}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final Double pCost) { - return rawGetOneArbitraryMatch(new Object[]{pCost}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final Double pCost) { - return rawHasMatch(new Object[]{pCost}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final Double pCost) { - return rawCountMatches(new Object[]{pCost}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final Double pCost, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pCost}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pCost the fixed value of pattern parameter Cost, or null if not bound. - * @return the (partial) match object. - * - */ - public CostMetric.Match newMatch(final Double pCost) { - return CostMetric.Match.newMatch(pCost); - } - - /** - * Retrieve the set of values that occur in matches for Cost. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfCost(final Object[] parameters) { - return rawStreamAllValues(POSITION_COST, parameters).map(Double.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Cost. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfCost() { - return rawStreamAllValuesOfCost(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Cost. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfCost() { - return rawStreamAllValuesOfCost(emptyArray()); - } - - @Override - protected CostMetric.Match tupleToMatch(final Tuple t) { - try { - return CostMetric.Match.newMatch((Double) t.get(POSITION_COST)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected CostMetric.Match arrayToMatch(final Object[] match) { - try { - return CostMetric.Match.newMatch((Double) match[POSITION_COST]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected CostMetric.Match arrayToMatchMutable(final Object[] match) { - try { - return CostMetric.Match.newMutableMatch((Double) match[POSITION_COST]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return CostMetric.instance(); - } - } - - private CostMetric() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CostMetric instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected CostMetric.Matcher instantiate(final ViatraQueryEngine engine) { - return CostMetric.Matcher.on(engine); - } - - @Override - public CostMetric.Matcher instantiate() { - return CostMetric.Matcher.create(); - } - - @Override - public CostMetric.Match newEmptyMatch() { - return CostMetric.Match.newEmptyMatch(); - } - - @Override - public CostMetric.Match newMatch(final Object... parameters) { - return CostMetric.Match.newMatch((java.lang.Double) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric (visibility: PUBLIC, simpleName: CostMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric (visibility: PUBLIC, simpleName: CostMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CostMetric INSTANCE = new CostMetric(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CostMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Cost); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.costMetric"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Cost"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // Cost == sum find missionCost(_, #_) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionCost.instance().getInternalQueryRepresentation(), var__virtual_0_, 1); - new Equality(body, var_Cost, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CoverageMetric.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CoverageMetric.java deleted file mode 100644 index 23b02ce4..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CoverageMetric.java +++ /dev/null @@ -1,552 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         //
- *         // Metrics
- *         //
- *         
- *         // Coverage
- *         
- *         pattern coverageMetric(Coverage : java Double) {
- *         	Coverage == sum find missionCoverage(_, #_);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class CoverageMetric extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric pattern, - * to be used in conjunction with {@link Matcher}. - * - *

Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private Double fCoverage; - - private static List parameterNames = makeImmutableList("Coverage"); - - private Match(final Double pCoverage) { - this.fCoverage = pCoverage; - } - - @Override - public Object get(final String parameterName) { - if ("Coverage".equals(parameterName)) return this.fCoverage; - return null; - } - - public Double getCoverage() { - return this.fCoverage; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Coverage".equals(parameterName) ) { - this.fCoverage = (Double) newValue; - return true; - } - return false; - } - - public void setCoverage(final Double pCoverage) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fCoverage = pCoverage; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric"; - } - - @Override - public List parameterNames() { - return CoverageMetric.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fCoverage}; - } - - @Override - public CoverageMetric.Match toImmutable() { - return isMutable() ? newMatch(fCoverage) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Coverage\"=" + prettyPrintValue(fCoverage)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fCoverage); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof CoverageMetric.Match)) { - CoverageMetric.Match other = (CoverageMetric.Match) obj; - return Objects.equals(fCoverage, other.fCoverage); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public CoverageMetric specification() { - return CoverageMetric.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static CoverageMetric.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static CoverageMetric.Match newMutableMatch(final Double pCoverage) { - return new Mutable(pCoverage); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return the (partial) match object. - * - */ - public static CoverageMetric.Match newMatch(final Double pCoverage) { - return new Immutable(pCoverage); - } - - private static final class Mutable extends CoverageMetric.Match { - Mutable(final Double pCoverage) { - super(pCoverage); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends CoverageMetric.Match { - Immutable(final Double pCoverage) { - super(pCoverage); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric pattern, - * providing pattern-specific query methods. - * - *

Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

Matches of the pattern will be represented as {@link Match}. - * - *

Original source: - *

-   * //
-   * // Metrics
-   * //
-   * 
-   * // Coverage
-   * 
-   * pattern coverageMetric(Coverage : java Double) {
-   * 	Coverage == sum find missionCoverage(_, #_);
-   * }
-   * 
- * - * @see Match - * @see CoverageMetric - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static CoverageMetric.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static CoverageMetric.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_COVERAGE = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(CoverageMetric.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Double pCoverage) { - return rawStreamAllMatches(new Object[]{pCoverage}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

- * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final Double pCoverage) { - return rawStreamAllMatches(new Object[]{pCoverage}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final Double pCoverage) { - return rawGetOneArbitraryMatch(new Object[]{pCoverage}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final Double pCoverage) { - return rawHasMatch(new Object[]{pCoverage}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final Double pCoverage) { - return rawCountMatches(new Object[]{pCoverage}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final Double pCoverage, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pCoverage}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pCoverage the fixed value of pattern parameter Coverage, or null if not bound. - * @return the (partial) match object. - * - */ - public CoverageMetric.Match newMatch(final Double pCoverage) { - return CoverageMetric.Match.newMatch(pCoverage); - } - - /** - * Retrieve the set of values that occur in matches for Coverage. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfCoverage(final Object[] parameters) { - return rawStreamAllValues(POSITION_COVERAGE, parameters).map(Double.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Coverage. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfCoverage() { - return rawStreamAllValuesOfCoverage(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Coverage. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfCoverage() { - return rawStreamAllValuesOfCoverage(emptyArray()); - } - - @Override - protected CoverageMetric.Match tupleToMatch(final Tuple t) { - try { - return CoverageMetric.Match.newMatch((Double) t.get(POSITION_COVERAGE)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected CoverageMetric.Match arrayToMatch(final Object[] match) { - try { - return CoverageMetric.Match.newMatch((Double) match[POSITION_COVERAGE]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected CoverageMetric.Match arrayToMatchMutable(final Object[] match) { - try { - return CoverageMetric.Match.newMutableMatch((Double) match[POSITION_COVERAGE]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return CoverageMetric.instance(); - } - } - - private CoverageMetric() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CoverageMetric instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected CoverageMetric.Matcher instantiate(final ViatraQueryEngine engine) { - return CoverageMetric.Matcher.on(engine); - } - - @Override - public CoverageMetric.Matcher instantiate() { - return CoverageMetric.Matcher.create(); - } - - @Override - public CoverageMetric.Match newEmptyMatch() { - return CoverageMetric.Match.newEmptyMatch(); - } - - @Override - public CoverageMetric.Match newMatch(final Object... parameters) { - return CoverageMetric.Match.newMatch((java.lang.Double) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric (visibility: PUBLIC, simpleName: CoverageMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric (visibility: PUBLIC, simpleName: CoverageMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CoverageMetric INSTANCE = new CoverageMetric(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CoverageMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Coverage = new PParameter("Coverage", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Coverage); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.coverageMetric"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Coverage"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Coverage = body.getOrCreateVariableByName("Coverage"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Coverage), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Coverage, parameter_Coverage) - )); - // Coverage == sum find missionCoverage(_, #_) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionCoverage.instance().getInternalQueryRepresentation(), var__virtual_0_, 1); - new Equality(body, var_Coverage, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java index b73cb23f..f372da70 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/CubeSatWithKaAntenna.java @@ -16,7 +16,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.log4j.Logger; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; import org.eclipse.viatra.query.runtime.api.IPatternMatch; import org.eclipse.viatra.query.runtime.api.IQuerySpecification; import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; @@ -25,7 +24,6 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificat import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; @@ -35,7 +33,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterRe import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; @@ -55,7 +52,8 @@ import satellite.Spacecraft; * {@literal @}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.band(Spacecraft, TransceiverBand::Ka); + * CommunicatingElement.commSubsystem(Spacecraft, Comm); + * KaCommSubsystem(Comm); * neg find smallSat(Spacecraft); * } * @@ -243,7 +241,8 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati * {@literal @}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.band(Spacecraft, TransceiverBand::Ka); + * CommunicatingElement.commSubsystem(Spacecraft, Comm); + * KaCommSubsystem(Comm); * neg find smallSat(Spacecraft); * } * @@ -539,21 +538,19 @@ public final class CubeSatWithKaAntenna extends BaseGeneratedEMFQuerySpecificati { PBody body = new PBody(this); PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); + PVariable var_Comm = body.getOrCreateVariableByName("Comm"); new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); body.setSymbolicParameters(Arrays.asList( new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) )); - // CommunicatingElement.commSubsystem.band(Spacecraft, TransceiverBand::Ka) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance()); + // CommunicatingElement.commSubsystem(Spacecraft, Comm) new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_2_, var__virtual_0_); + PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); + new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new Equality(body, var__virtual_0_, var_Comm); + // KaCommSubsystem(Comm) + new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); // neg find smallSat(Spacecraft) new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SmallSat.instance().getInternalQueryRepresentation()); bodies.add(body); diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java index f2713f45..c9dd1e58 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetBand.java @@ -3,7 +3,7 @@ */ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; import java.util.Arrays; import java.util.Collection; import java.util.LinkedHashSet; @@ -16,7 +16,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; import org.apache.log4j.Logger; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; import org.eclipse.viatra.query.runtime.api.IPatternMatch; import org.eclipse.viatra.query.runtime.api.IQuerySpecification; import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; @@ -25,7 +24,6 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificat import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; @@ -56,8 +54,7 @@ import satellite.DirectedCommunicationLink; * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { * DirectedCommunicationLink.source(Link, SourceSubsystem); * DirectedCommunicationLink.target(Link, TargetSubsystem); - * CommSubsystem.band(SourceSubsystem, Band); - * neg find commSubsystemBand(TargetSubsystem, Band); + * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); * } * * @@ -246,8 +243,7 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery * pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { * DirectedCommunicationLink.source(Link, SourceSubsystem); * DirectedCommunicationLink.target(Link, TargetSubsystem); - * CommSubsystem.band(SourceSubsystem, Band); - * neg find commSubsystemBand(TargetSubsystem, Band); + * neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); * } * * @@ -544,7 +540,6 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery PVariable var_Link = body.getOrCreateVariableByName("Link"); PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); - PVariable var_Band = body.getOrCreateVariableByName("Band"); new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); body.setSymbolicParameters(Arrays.asList( new ExportedParameter(body, var_Link, parameter_Link) @@ -561,14 +556,8 @@ public final class IncompatibleSourceAndTargetBand extends BaseGeneratedEMFQuery new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target"))); new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); new Equality(body, var__virtual_1_, var_TargetSubsystem); - // CommSubsystem.band(SourceSubsystem, Band) - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_2_, var_Band); - // neg find commSubsystemBand(TargetSubsystem, Band) - new NegativePatternCall(body, Tuples.flatTupleOf(var_TargetSubsystem, var_Band), CommSubsystemBand.instance().getInternalQueryRepresentation()); + // neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem) + new NegativePatternCall(body, Tuples.flatTupleOf(var_SourceSubsystem, var_TargetSubsystem), MatchingCommSubsystem.instance().getInternalQueryRepresentation()); bodies.add(body); } { diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java deleted file mode 100644 index 33a4b067..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/IncompatibleSourceAndTargetGain.java +++ /dev/null @@ -1,582 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.DirectedCommunicationLink; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         {@literal @}Constraint(severity = "error", key = {Link},
- *         	message = "Two ends of a communication link must use the same antenna gain.")
- *         pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) {
- *         	DirectedCommunicationLink.source(Link, SourceSubsystem);
- *         	DirectedCommunicationLink.target(Link, TargetSubsystem);
- *         	CommSubsystem.gain(SourceSubsystem, Gain);
- *         	neg find commSubsystemGain(TargetSubsystem, Gain);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class IncompatibleSourceAndTargetGain extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain pattern, - * to be used in conjunction with {@link Matcher}. - * - *

Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private DirectedCommunicationLink fLink; - - private static List parameterNames = makeImmutableList("Link"); - - private Match(final DirectedCommunicationLink pLink) { - this.fLink = pLink; - } - - @Override - public Object get(final String parameterName) { - if ("Link".equals(parameterName)) return this.fLink; - return null; - } - - public DirectedCommunicationLink getLink() { - return this.fLink; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Link".equals(parameterName) ) { - this.fLink = (DirectedCommunicationLink) newValue; - return true; - } - return false; - } - - public void setLink(final DirectedCommunicationLink pLink) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fLink = pLink; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"; - } - - @Override - public List parameterNames() { - return IncompatibleSourceAndTargetGain.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fLink}; - } - - @Override - public IncompatibleSourceAndTargetGain.Match toImmutable() { - return isMutable() ? newMatch(fLink) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Link\"=" + prettyPrintValue(fLink)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fLink); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof IncompatibleSourceAndTargetGain.Match)) { - IncompatibleSourceAndTargetGain.Match other = (IncompatibleSourceAndTargetGain.Match) obj; - return Objects.equals(fLink, other.fLink); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public IncompatibleSourceAndTargetGain specification() { - return IncompatibleSourceAndTargetGain.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static IncompatibleSourceAndTargetGain.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static IncompatibleSourceAndTargetGain.Match newMutableMatch(final DirectedCommunicationLink pLink) { - return new Mutable(pLink); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return the (partial) match object. - * - */ - public static IncompatibleSourceAndTargetGain.Match newMatch(final DirectedCommunicationLink pLink) { - return new Immutable(pLink); - } - - private static final class Mutable extends IncompatibleSourceAndTargetGain.Match { - Mutable(final DirectedCommunicationLink pLink) { - super(pLink); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends IncompatibleSourceAndTargetGain.Match { - Immutable(final DirectedCommunicationLink pLink) { - super(pLink); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain pattern, - * providing pattern-specific query methods. - * - *

Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

Matches of the pattern will be represented as {@link Match}. - * - *

Original source: - *

-   * {@literal @}Constraint(severity = "error", key = {Link},
-   * 	message = "Two ends of a communication link must use the same antenna gain.")
-   * pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) {
-   * 	DirectedCommunicationLink.source(Link, SourceSubsystem);
-   * 	DirectedCommunicationLink.target(Link, TargetSubsystem);
-   * 	CommSubsystem.gain(SourceSubsystem, Gain);
-   * 	neg find commSubsystemGain(TargetSubsystem, Gain);
-   * }
-   * 
- * - * @see Match - * @see IncompatibleSourceAndTargetGain - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static IncompatibleSourceAndTargetGain.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static IncompatibleSourceAndTargetGain.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_LINK = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(IncompatibleSourceAndTargetGain.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final DirectedCommunicationLink pLink) { - return rawStreamAllMatches(new Object[]{pLink}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

- * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final DirectedCommunicationLink pLink) { - return rawStreamAllMatches(new Object[]{pLink}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final DirectedCommunicationLink pLink) { - return rawGetOneArbitraryMatch(new Object[]{pLink}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final DirectedCommunicationLink pLink) { - return rawHasMatch(new Object[]{pLink}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final DirectedCommunicationLink pLink) { - return rawCountMatches(new Object[]{pLink}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final DirectedCommunicationLink pLink, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pLink}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pLink the fixed value of pattern parameter Link, or null if not bound. - * @return the (partial) match object. - * - */ - public IncompatibleSourceAndTargetGain.Match newMatch(final DirectedCommunicationLink pLink) { - return IncompatibleSourceAndTargetGain.Match.newMatch(pLink); - } - - /** - * Retrieve the set of values that occur in matches for Link. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfLink(final Object[] parameters) { - return rawStreamAllValues(POSITION_LINK, parameters).map(DirectedCommunicationLink.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Link. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfLink() { - return rawStreamAllValuesOfLink(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Link. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfLink() { - return rawStreamAllValuesOfLink(emptyArray()); - } - - @Override - protected IncompatibleSourceAndTargetGain.Match tupleToMatch(final Tuple t) { - try { - return IncompatibleSourceAndTargetGain.Match.newMatch((DirectedCommunicationLink) t.get(POSITION_LINK)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected IncompatibleSourceAndTargetGain.Match arrayToMatch(final Object[] match) { - try { - return IncompatibleSourceAndTargetGain.Match.newMatch((DirectedCommunicationLink) match[POSITION_LINK]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected IncompatibleSourceAndTargetGain.Match arrayToMatchMutable(final Object[] match) { - try { - return IncompatibleSourceAndTargetGain.Match.newMutableMatch((DirectedCommunicationLink) match[POSITION_LINK]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return IncompatibleSourceAndTargetGain.instance(); - } - } - - private IncompatibleSourceAndTargetGain() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IncompatibleSourceAndTargetGain instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected IncompatibleSourceAndTargetGain.Matcher instantiate(final ViatraQueryEngine engine) { - return IncompatibleSourceAndTargetGain.Matcher.on(engine); - } - - @Override - public IncompatibleSourceAndTargetGain.Matcher instantiate() { - return IncompatibleSourceAndTargetGain.Matcher.create(); - } - - @Override - public IncompatibleSourceAndTargetGain.Match newEmptyMatch() { - return IncompatibleSourceAndTargetGain.Match.newEmptyMatch(); - } - - @Override - public IncompatibleSourceAndTargetGain.Match newMatch(final Object... parameters) { - return IncompatibleSourceAndTargetGain.Match.newMatch((satellite.DirectedCommunicationLink) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain (visibility: PUBLIC, simpleName: IncompatibleSourceAndTargetGain, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain (visibility: PUBLIC, simpleName: IncompatibleSourceAndTargetGain, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final IncompatibleSourceAndTargetGain INSTANCE = new IncompatibleSourceAndTargetGain(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final IncompatibleSourceAndTargetGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Link = new PParameter("Link", "satellite.DirectedCommunicationLink", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "DirectedCommunicationLink")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Link); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incompatibleSourceAndTargetGain"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Link"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Link = body.getOrCreateVariableByName("Link"); - PVariable var_SourceSubsystem = body.getOrCreateVariableByName("SourceSubsystem"); - PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); - PVariable var_Gain = body.getOrCreateVariableByName("Gain"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Link, parameter_Link) - )); - // DirectedCommunicationLink.source(Link, SourceSubsystem) - new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_0_, var_SourceSubsystem); - // DirectedCommunicationLink.target(Link, TargetSubsystem) - new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_1_, var_TargetSubsystem); - // CommSubsystem.gain(SourceSubsystem, Gain) - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_SourceSubsystem, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_2_, var_Gain); - // neg find commSubsystemGain(TargetSubsystem, Gain) - new NegativePatternCall(body, Tuples.flatTupleOf(var_TargetSubsystem, var_Gain), CommSubsystemGain.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Link") - })); - annotation.addAttribute("message", "Two ends of a communication link must use the same antenna gain."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java deleted file mode 100644 index 37c35bfe..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/KaAntennaGainLow.java +++ /dev/null @@ -1,574 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommSubsystem; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

Original source: - *

- *         // Ka-band transmitters may only be combined with a medium or high gain antenna
- *         
- *         {@literal @}Constraint(severity = "error", key = {Comm},
- *         	message = "Ka-band transceiver must be combined with a medium or high gain antenna.")
- *         pattern kaAntennaGainLow(Comm : CommSubsystem) {
- *         	CommSubsystem.band(Comm, TransceiverBand::Ka);
- *         	CommSubsystem.gain(Comm, AntennaGain::LOW);
- *         }
- * 
- * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class KaAntennaGainLow extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow pattern, - * to be used in conjunction with {@link Matcher}. - * - *

Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private CommSubsystem fComm; - - private static List parameterNames = makeImmutableList("Comm"); - - private Match(final CommSubsystem pComm) { - this.fComm = pComm; - } - - @Override - public Object get(final String parameterName) { - if ("Comm".equals(parameterName)) return this.fComm; - return null; - } - - public CommSubsystem getComm() { - return this.fComm; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Comm".equals(parameterName) ) { - this.fComm = (CommSubsystem) newValue; - return true; - } - return false; - } - - public void setComm(final CommSubsystem pComm) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fComm = pComm; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"; - } - - @Override - public List parameterNames() { - return KaAntennaGainLow.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fComm}; - } - - @Override - public KaAntennaGainLow.Match toImmutable() { - return isMutable() ? newMatch(fComm) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Comm\"=" + prettyPrintValue(fComm)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fComm); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof KaAntennaGainLow.Match)) { - KaAntennaGainLow.Match other = (KaAntennaGainLow.Match) obj; - return Objects.equals(fComm, other.fComm); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public KaAntennaGainLow specification() { - return KaAntennaGainLow.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static KaAntennaGainLow.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static KaAntennaGainLow.Match newMutableMatch(final CommSubsystem pComm) { - return new Mutable(pComm); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public static KaAntennaGainLow.Match newMatch(final CommSubsystem pComm) { - return new Immutable(pComm); - } - - private static final class Mutable extends KaAntennaGainLow.Match { - Mutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends KaAntennaGainLow.Match { - Immutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow pattern, - * providing pattern-specific query methods. - * - *

Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

Matches of the pattern will be represented as {@link Match}. - * - *

Original source: - *

-   * // Ka-band transmitters may only be combined with a medium or high gain antenna
-   * 
-   * {@literal @}Constraint(severity = "error", key = {Comm},
-   * 	message = "Ka-band transceiver must be combined with a medium or high gain antenna.")
-   * pattern kaAntennaGainLow(Comm : CommSubsystem) {
-   * 	CommSubsystem.band(Comm, TransceiverBand::Ka);
-   * 	CommSubsystem.gain(Comm, AntennaGain::LOW);
-   * }
-   * 
- * - * @see Match - * @see KaAntennaGainLow - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static KaAntennaGainLow.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static KaAntennaGainLow.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_COMM = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(KaAntennaGainLow.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

- * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final CommSubsystem pComm) { - return rawGetOneArbitraryMatch(new Object[]{pComm}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final CommSubsystem pComm) { - return rawHasMatch(new Object[]{pComm}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final CommSubsystem pComm) { - return rawCountMatches(new Object[]{pComm}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pComm}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public KaAntennaGainLow.Match newMatch(final CommSubsystem pComm) { - return KaAntennaGainLow.Match.newMatch(pComm); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfComm(final Object[] parameters) { - return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()); - } - - @Override - protected KaAntennaGainLow.Match tupleToMatch(final Tuple t) { - try { - return KaAntennaGainLow.Match.newMatch((CommSubsystem) t.get(POSITION_COMM)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected KaAntennaGainLow.Match arrayToMatch(final Object[] match) { - try { - return KaAntennaGainLow.Match.newMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected KaAntennaGainLow.Match arrayToMatchMutable(final Object[] match) { - try { - return KaAntennaGainLow.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return KaAntennaGainLow.instance(); - } - } - - private KaAntennaGainLow() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static KaAntennaGainLow instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected KaAntennaGainLow.Matcher instantiate(final ViatraQueryEngine engine) { - return KaAntennaGainLow.Matcher.on(engine); - } - - @Override - public KaAntennaGainLow.Matcher instantiate() { - return KaAntennaGainLow.Matcher.create(); - } - - @Override - public KaAntennaGainLow.Match newEmptyMatch() { - return KaAntennaGainLow.Match.newEmptyMatch(); - } - - @Override - public KaAntennaGainLow.Match newMatch(final Object... parameters) { - return KaAntennaGainLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow (visibility: PUBLIC, simpleName: KaAntennaGainLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow (visibility: PUBLIC, simpleName: KaAntennaGainLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final KaAntennaGainLow INSTANCE = new KaAntennaGainLow(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final KaAntennaGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.kaAntennaGainLow"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommSubsystem.band(Comm, TransceiverBand::Ka) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_1_, var__virtual_0_); - // CommSubsystem.gain(Comm, AntennaGain::LOW) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ConstantValue(body, var__virtual_2_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "LOW").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_3_, var__virtual_2_); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Comm") - })); - annotation.addAttribute("message", "Ka-band transceiver must be combined with a medium or high gain antenna."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java index 31c5a70a..9025d93a 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.java @@ -5,21 +5,13 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium; import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; @@ -37,17 +29,9 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; *

  • noPotentialLinkToGroundStation
  • *
  • communicationLoop
  • *
  • incompatibleSourceAndTargetBand
  • - *
  • incompatibleSourceAndTargetGain
  • - *
  • uhfAntennaGainNotLow
  • - *
  • xAntennaGainNotMedium
  • - *
  • kaAntennaGainLow
  • *
  • threeUCubeSatWithNonUhfCrossLink
  • *
  • cubeSatWithKaAntenna
  • *
  • smallSat
  • - *
  • spacecraftOfKind
  • - *
  • coverageMetric
  • - *
  • timeMetric
  • - *
  • costMetric
  • * * * @see IQueryGroup @@ -78,17 +62,9 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup { querySpecifications.add(NoPotentialLinkToGroundStation.instance()); querySpecifications.add(CommunicationLoop.instance()); querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); - querySpecifications.add(IncompatibleSourceAndTargetGain.instance()); - querySpecifications.add(UhfAntennaGainNotLow.instance()); - querySpecifications.add(XAntennaGainNotMedium.instance()); - querySpecifications.add(KaAntennaGainLow.instance()); querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); querySpecifications.add(CubeSatWithKaAntenna.instance()); querySpecifications.add(SmallSat.instance()); - querySpecifications.add(SpacecraftOfKind.instance()); - querySpecifications.add(CoverageMetric.instance()); - querySpecifications.add(TimeMetric.instance()); - querySpecifications.add(CostMetric.instance()); } public CommunicationLinkDoesNotStartAtContainingElement getCommunicationLinkDoesNotStartAtContainingElement() { @@ -139,38 +115,6 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup { return IncompatibleSourceAndTargetBand.Matcher.on(engine); } - public IncompatibleSourceAndTargetGain getIncompatibleSourceAndTargetGain() { - return IncompatibleSourceAndTargetGain.instance(); - } - - public IncompatibleSourceAndTargetGain.Matcher getIncompatibleSourceAndTargetGain(final ViatraQueryEngine engine) { - return IncompatibleSourceAndTargetGain.Matcher.on(engine); - } - - public UhfAntennaGainNotLow getUhfAntennaGainNotLow() { - return UhfAntennaGainNotLow.instance(); - } - - public UhfAntennaGainNotLow.Matcher getUhfAntennaGainNotLow(final ViatraQueryEngine engine) { - return UhfAntennaGainNotLow.Matcher.on(engine); - } - - public XAntennaGainNotMedium getXAntennaGainNotMedium() { - return XAntennaGainNotMedium.instance(); - } - - public XAntennaGainNotMedium.Matcher getXAntennaGainNotMedium(final ViatraQueryEngine engine) { - return XAntennaGainNotMedium.Matcher.on(engine); - } - - public KaAntennaGainLow getKaAntennaGainLow() { - return KaAntennaGainLow.instance(); - } - - public KaAntennaGainLow.Matcher getKaAntennaGainLow(final ViatraQueryEngine engine) { - return KaAntennaGainLow.Matcher.on(engine); - } - public ThreeUCubeSatWithNonUhfCrossLink getThreeUCubeSatWithNonUhfCrossLink() { return ThreeUCubeSatWithNonUhfCrossLink.instance(); } @@ -194,36 +138,4 @@ public final class SatelliteQueries extends BaseGeneratedPatternGroup { public SmallSat.Matcher getSmallSat(final ViatraQueryEngine engine) { return SmallSat.Matcher.on(engine); } - - public SpacecraftOfKind getSpacecraftOfKind() { - return SpacecraftOfKind.instance(); - } - - public SpacecraftOfKind.Matcher getSpacecraftOfKind(final ViatraQueryEngine engine) { - return SpacecraftOfKind.Matcher.on(engine); - } - - public CoverageMetric getCoverageMetric() { - return CoverageMetric.instance(); - } - - public CoverageMetric.Matcher getCoverageMetric(final ViatraQueryEngine engine) { - return CoverageMetric.Matcher.on(engine); - } - - public TimeMetric getTimeMetric() { - return TimeMetric.instance(); - } - - public TimeMetric.Matcher getTimeMetric(final ViatraQueryEngine engine) { - return TimeMetric.Matcher.on(engine); - } - - public CostMetric getCostMetric() { - return CostMetric.instance(); - } - - public CostMetric.Matcher getCostMetric(final ViatraQueryEngine engine) { - return CostMetric.Matcher.on(engine); - } } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java deleted file mode 100644 index ed0bd7dc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SpacecraftOfKind.java +++ /dev/null @@ -1,754 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.Spacecraft; -import satellite.SpacecraftKind; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

    Original source: - *

    - *         {@literal @}QueryBasedFeature(feature = "kind")
    - *         pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) {
    - *         	CubeSat3U(Spacecraft);
    - *         	Kind == SpacecraftKind::CubeSat3U;
    - *         } or {
    - *         	CubeSat6U(Spacecraft);
    - *         	Kind == SpacecraftKind::CubeSat6U;
    - *         } or {
    - *         	SmallSat(Spacecraft);
    - *         	Kind == SpacecraftKind::SmallSat;
    - *         }
    - * 
    - * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class SpacecraftOfKind extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind pattern, - * to be used in conjunction with {@link Matcher}. - * - *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private Spacecraft fSpacecraft; - - private SpacecraftKind fKind; - - private static List parameterNames = makeImmutableList("Spacecraft", "Kind"); - - private Match(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - this.fSpacecraft = pSpacecraft; - this.fKind = pKind; - } - - @Override - public Object get(final String parameterName) { - if ("Spacecraft".equals(parameterName)) return this.fSpacecraft; - if ("Kind".equals(parameterName)) return this.fKind; - return null; - } - - public Spacecraft getSpacecraft() { - return this.fSpacecraft; - } - - public SpacecraftKind getKind() { - return this.fKind; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Spacecraft".equals(parameterName) ) { - this.fSpacecraft = (Spacecraft) newValue; - return true; - } - if ("Kind".equals(parameterName) ) { - this.fKind = (SpacecraftKind) newValue; - return true; - } - return false; - } - - public void setSpacecraft(final Spacecraft pSpacecraft) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fSpacecraft = pSpacecraft; - } - - public void setKind(final SpacecraftKind pKind) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fKind = pKind; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"; - } - - @Override - public List parameterNames() { - return SpacecraftOfKind.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fSpacecraft, fKind}; - } - - @Override - public SpacecraftOfKind.Match toImmutable() { - return isMutable() ? newMatch(fSpacecraft, fKind) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Spacecraft\"=" + prettyPrintValue(fSpacecraft) + ", "); - result.append("\"Kind\"=" + prettyPrintValue(fKind)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fSpacecraft, fKind); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof SpacecraftOfKind.Match)) { - SpacecraftOfKind.Match other = (SpacecraftOfKind.Match) obj; - return Objects.equals(fSpacecraft, other.fSpacecraft) && Objects.equals(fKind, other.fKind); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public SpacecraftOfKind specification() { - return SpacecraftOfKind.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static SpacecraftOfKind.Match newEmptyMatch() { - return new Mutable(null, null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static SpacecraftOfKind.Match newMutableMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return new Mutable(pSpacecraft, pKind); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return the (partial) match object. - * - */ - public static SpacecraftOfKind.Match newMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return new Immutable(pSpacecraft, pKind); - } - - private static final class Mutable extends SpacecraftOfKind.Match { - Mutable(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - super(pSpacecraft, pKind); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends SpacecraftOfKind.Match { - Immutable(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - super(pSpacecraft, pKind); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind pattern, - * providing pattern-specific query methods. - * - *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

    Matches of the pattern will be represented as {@link Match}. - * - *

    Original source: - *

    -   * {@literal @}QueryBasedFeature(feature = "kind")
    -   * pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) {
    -   * 	CubeSat3U(Spacecraft);
    -   * 	Kind == SpacecraftKind::CubeSat3U;
    -   * } or {
    -   * 	CubeSat6U(Spacecraft);
    -   * 	Kind == SpacecraftKind::CubeSat6U;
    -   * } or {
    -   * 	SmallSat(Spacecraft);
    -   * 	Kind == SpacecraftKind::SmallSat;
    -   * }
    -   * 
    - * - * @see Match - * @see SpacecraftOfKind - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static SpacecraftOfKind.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static SpacecraftOfKind.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_SPACECRAFT = 0; - - private static final int POSITION_KIND = 1; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(SpacecraftOfKind.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return rawStreamAllMatches(new Object[]{pSpacecraft, pKind}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return rawStreamAllMatches(new Object[]{pSpacecraft, pKind}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return rawGetOneArbitraryMatch(new Object[]{pSpacecraft, pKind}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return rawHasMatch(new Object[]{pSpacecraft, pKind}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return rawCountMatches(new Object[]{pSpacecraft, pKind}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pSpacecraft, pKind}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pSpacecraft the fixed value of pattern parameter Spacecraft, or null if not bound. - * @param pKind the fixed value of pattern parameter Kind, or null if not bound. - * @return the (partial) match object. - * - */ - public SpacecraftOfKind.Match newMatch(final Spacecraft pSpacecraft, final SpacecraftKind pKind) { - return SpacecraftOfKind.Match.newMatch(pSpacecraft, pKind); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfSpacecraft(final Object[] parameters) { - return rawStreamAllValues(POSITION_SPACECRAFT, parameters).map(Spacecraft.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfSpacecraft() { - return rawStreamAllValuesOfSpacecraft(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfSpacecraft() { - return rawStreamAllValuesOfSpacecraft(emptyArray()); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * - * @return the Stream of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfSpacecraft(final SpacecraftOfKind.Match partialMatch) { - return rawStreamAllValuesOfSpacecraft(partialMatch.toArray()); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * - * @return the Stream of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfSpacecraft(final SpacecraftKind pKind) { - return rawStreamAllValuesOfSpacecraft(new Object[]{null, pKind}); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfSpacecraft(final SpacecraftOfKind.Match partialMatch) { - return rawStreamAllValuesOfSpacecraft(partialMatch.toArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Spacecraft. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfSpacecraft(final SpacecraftKind pKind) { - return rawStreamAllValuesOfSpacecraft(new Object[]{null, pKind}).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfKind(final Object[] parameters) { - return rawStreamAllValues(POSITION_KIND, parameters).map(SpacecraftKind.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfKind() { - return rawStreamAllValuesOfKind(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfKind() { - return rawStreamAllValuesOfKind(emptyArray()); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * - * @return the Stream of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfKind(final SpacecraftOfKind.Match partialMatch) { - return rawStreamAllValuesOfKind(partialMatch.toArray()); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * - * @return the Stream of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfKind(final Spacecraft pSpacecraft) { - return rawStreamAllValuesOfKind(new Object[]{pSpacecraft, null}); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfKind(final SpacecraftOfKind.Match partialMatch) { - return rawStreamAllValuesOfKind(partialMatch.toArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Kind. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfKind(final Spacecraft pSpacecraft) { - return rawStreamAllValuesOfKind(new Object[]{pSpacecraft, null}).collect(Collectors.toSet()); - } - - @Override - protected SpacecraftOfKind.Match tupleToMatch(final Tuple t) { - try { - return SpacecraftOfKind.Match.newMatch((Spacecraft) t.get(POSITION_SPACECRAFT), (SpacecraftKind) t.get(POSITION_KIND)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected SpacecraftOfKind.Match arrayToMatch(final Object[] match) { - try { - return SpacecraftOfKind.Match.newMatch((Spacecraft) match[POSITION_SPACECRAFT], (SpacecraftKind) match[POSITION_KIND]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected SpacecraftOfKind.Match arrayToMatchMutable(final Object[] match) { - try { - return SpacecraftOfKind.Match.newMutableMatch((Spacecraft) match[POSITION_SPACECRAFT], (SpacecraftKind) match[POSITION_KIND]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return SpacecraftOfKind.instance(); - } - } - - private SpacecraftOfKind() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static SpacecraftOfKind instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected SpacecraftOfKind.Matcher instantiate(final ViatraQueryEngine engine) { - return SpacecraftOfKind.Matcher.on(engine); - } - - @Override - public SpacecraftOfKind.Matcher instantiate() { - return SpacecraftOfKind.Matcher.create(); - } - - @Override - public SpacecraftOfKind.Match newEmptyMatch() { - return SpacecraftOfKind.Match.newEmptyMatch(); - } - - @Override - public SpacecraftOfKind.Match newMatch(final Object... parameters) { - return SpacecraftOfKind.Match.newMatch((satellite.Spacecraft) parameters[0], (satellite.SpacecraftKind) parameters[1]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind (visibility: PUBLIC, simpleName: SpacecraftOfKind, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind (visibility: PUBLIC, simpleName: SpacecraftOfKind, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final SpacecraftOfKind INSTANCE = new SpacecraftOfKind(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final SpacecraftOfKind.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Kind = new PParameter("Kind", "satellite.SpacecraftKind", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "SpacecraftKind")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Kind); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftOfKind"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Kind"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Kind = body.getOrCreateVariableByName("Kind"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Kind, parameter_Kind) - )); - // CubeSat3U(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); - // Kind == SpacecraftKind::CubeSat3U - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "CubeSat3U").getInstance()); - new Equality(body, var_Kind, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Kind = body.getOrCreateVariableByName("Kind"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Kind, parameter_Kind) - )); - // CubeSat6U(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); - // Kind == SpacecraftKind::CubeSat6U - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "CubeSat6U").getInstance()); - new Equality(body, var_Kind, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Kind = body.getOrCreateVariableByName("Kind"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Kind), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "SpacecraftKind"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Kind, parameter_Kind) - )); - // SmallSat(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); - // Kind == SpacecraftKind::SmallSat - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "SpacecraftKind", "SmallSat").getInstance()); - new Equality(body, var_Kind, var__virtual_0_); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("QueryBasedFeature"); - annotation.addAttribute("feature", "kind"); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/TimeMetric.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/TimeMetric.java deleted file mode 100644 index 45d4cc35..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/TimeMetric.java +++ /dev/null @@ -1,544 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

    Original source: - *

    - *         // Time
    - *         
    - *         pattern timeMetric(Time : java Double) {
    - *         	Time == sum find missionTime(_, #_);
    - *         }
    - * 
    - * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class TimeMetric extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric pattern, - * to be used in conjunction with {@link Matcher}. - * - *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private Double fTime; - - private static List parameterNames = makeImmutableList("Time"); - - private Match(final Double pTime) { - this.fTime = pTime; - } - - @Override - public Object get(final String parameterName) { - if ("Time".equals(parameterName)) return this.fTime; - return null; - } - - public Double getTime() { - return this.fTime; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Time".equals(parameterName) ) { - this.fTime = (Double) newValue; - return true; - } - return false; - } - - public void setTime(final Double pTime) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fTime = pTime; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric"; - } - - @Override - public List parameterNames() { - return TimeMetric.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fTime}; - } - - @Override - public TimeMetric.Match toImmutable() { - return isMutable() ? newMatch(fTime) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Time\"=" + prettyPrintValue(fTime)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fTime); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof TimeMetric.Match)) { - TimeMetric.Match other = (TimeMetric.Match) obj; - return Objects.equals(fTime, other.fTime); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public TimeMetric specification() { - return TimeMetric.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static TimeMetric.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static TimeMetric.Match newMutableMatch(final Double pTime) { - return new Mutable(pTime); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return the (partial) match object. - * - */ - public static TimeMetric.Match newMatch(final Double pTime) { - return new Immutable(pTime); - } - - private static final class Mutable extends TimeMetric.Match { - Mutable(final Double pTime) { - super(pTime); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends TimeMetric.Match { - Immutable(final Double pTime) { - super(pTime); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric pattern, - * providing pattern-specific query methods. - * - *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

    Matches of the pattern will be represented as {@link Match}. - * - *

    Original source: - *

    -   * // Time
    -   * 
    -   * pattern timeMetric(Time : java Double) {
    -   * 	Time == sum find missionTime(_, #_);
    -   * }
    -   * 
    - * - * @see Match - * @see TimeMetric - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static TimeMetric.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static TimeMetric.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_TIME = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(TimeMetric.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final Double pTime) { - return rawStreamAllMatches(new Object[]{pTime}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final Double pTime) { - return rawStreamAllMatches(new Object[]{pTime}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final Double pTime) { - return rawGetOneArbitraryMatch(new Object[]{pTime}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final Double pTime) { - return rawHasMatch(new Object[]{pTime}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final Double pTime) { - return rawCountMatches(new Object[]{pTime}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final Double pTime, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pTime}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pTime the fixed value of pattern parameter Time, or null if not bound. - * @return the (partial) match object. - * - */ - public TimeMetric.Match newMatch(final Double pTime) { - return TimeMetric.Match.newMatch(pTime); - } - - /** - * Retrieve the set of values that occur in matches for Time. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfTime(final Object[] parameters) { - return rawStreamAllValues(POSITION_TIME, parameters).map(Double.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Time. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfTime() { - return rawStreamAllValuesOfTime(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Time. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfTime() { - return rawStreamAllValuesOfTime(emptyArray()); - } - - @Override - protected TimeMetric.Match tupleToMatch(final Tuple t) { - try { - return TimeMetric.Match.newMatch((Double) t.get(POSITION_TIME)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected TimeMetric.Match arrayToMatch(final Object[] match) { - try { - return TimeMetric.Match.newMatch((Double) match[POSITION_TIME]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected TimeMetric.Match arrayToMatchMutable(final Object[] match) { - try { - return TimeMetric.Match.newMutableMatch((Double) match[POSITION_TIME]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return TimeMetric.instance(); - } - } - - private TimeMetric() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static TimeMetric instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected TimeMetric.Matcher instantiate(final ViatraQueryEngine engine) { - return TimeMetric.Matcher.on(engine); - } - - @Override - public TimeMetric.Matcher instantiate() { - return TimeMetric.Matcher.create(); - } - - @Override - public TimeMetric.Match newEmptyMatch() { - return TimeMetric.Match.newEmptyMatch(); - } - - @Override - public TimeMetric.Match newMatch(final Object... parameters) { - return TimeMetric.Match.newMatch((java.lang.Double) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric (visibility: PUBLIC, simpleName: TimeMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric (visibility: PUBLIC, simpleName: TimeMetric, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final TimeMetric INSTANCE = new TimeMetric(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final TimeMetric.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Time = new PParameter("Time", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Time); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.timeMetric"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Time"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Time = body.getOrCreateVariableByName("Time"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Time), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Time, parameter_Time) - )); - // Time == sum find missionTime(_, #_) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var___0_, var___1_), MissionTime.instance().getInternalQueryRepresentation(), var__virtual_0_, 1); - new Equality(body, var_Time, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java deleted file mode 100644 index 99e472ea..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/UhfAntennaGainNotLow.java +++ /dev/null @@ -1,576 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommSubsystem; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

    Original source: - *

    - *         // UHF-band transmitters may only be combined with a low gain antenna
    - *         
    - *         {@literal @}Constraint(severity = "error", key = {Comm},
    - *         	message = "UHF transceiver must be combined with a low gain antenna.")
    - *         pattern uhfAntennaGainNotLow(Comm : CommSubsystem) {
    - *         	CommSubsystem.band(Comm, TransceiverBand::UHF);
    - *         	// VIATRA will fail to infer a type constraint for the virtual variable introduced
    - *         	// when an enum literal appears in a negative pattern call, so we use a helper pattern
    - *         	// instead of neg find commSubsystemGain(Comm, AntennaGain::LOW);
    - *         	neg find commSubsystemGainLow(Comm);
    - *         }
    - * 
    - * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class UhfAntennaGainNotLow extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow pattern, - * to be used in conjunction with {@link Matcher}. - * - *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private CommSubsystem fComm; - - private static List parameterNames = makeImmutableList("Comm"); - - private Match(final CommSubsystem pComm) { - this.fComm = pComm; - } - - @Override - public Object get(final String parameterName) { - if ("Comm".equals(parameterName)) return this.fComm; - return null; - } - - public CommSubsystem getComm() { - return this.fComm; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Comm".equals(parameterName) ) { - this.fComm = (CommSubsystem) newValue; - return true; - } - return false; - } - - public void setComm(final CommSubsystem pComm) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fComm = pComm; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"; - } - - @Override - public List parameterNames() { - return UhfAntennaGainNotLow.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fComm}; - } - - @Override - public UhfAntennaGainNotLow.Match toImmutable() { - return isMutable() ? newMatch(fComm) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Comm\"=" + prettyPrintValue(fComm)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fComm); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof UhfAntennaGainNotLow.Match)) { - UhfAntennaGainNotLow.Match other = (UhfAntennaGainNotLow.Match) obj; - return Objects.equals(fComm, other.fComm); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public UhfAntennaGainNotLow specification() { - return UhfAntennaGainNotLow.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static UhfAntennaGainNotLow.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static UhfAntennaGainNotLow.Match newMutableMatch(final CommSubsystem pComm) { - return new Mutable(pComm); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public static UhfAntennaGainNotLow.Match newMatch(final CommSubsystem pComm) { - return new Immutable(pComm); - } - - private static final class Mutable extends UhfAntennaGainNotLow.Match { - Mutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends UhfAntennaGainNotLow.Match { - Immutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow pattern, - * providing pattern-specific query methods. - * - *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

    Matches of the pattern will be represented as {@link Match}. - * - *

    Original source: - *

    -   * // UHF-band transmitters may only be combined with a low gain antenna
    -   * 
    -   * {@literal @}Constraint(severity = "error", key = {Comm},
    -   * 	message = "UHF transceiver must be combined with a low gain antenna.")
    -   * pattern uhfAntennaGainNotLow(Comm : CommSubsystem) {
    -   * 	CommSubsystem.band(Comm, TransceiverBand::UHF);
    -   * 	// VIATRA will fail to infer a type constraint for the virtual variable introduced
    -   * 	// when an enum literal appears in a negative pattern call, so we use a helper pattern
    -   * 	// instead of neg find commSubsystemGain(Comm, AntennaGain::LOW);
    -   * 	neg find commSubsystemGainLow(Comm);
    -   * }
    -   * 
    - * - * @see Match - * @see UhfAntennaGainNotLow - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static UhfAntennaGainNotLow.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static UhfAntennaGainNotLow.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_COMM = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(UhfAntennaGainNotLow.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final CommSubsystem pComm) { - return rawGetOneArbitraryMatch(new Object[]{pComm}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final CommSubsystem pComm) { - return rawHasMatch(new Object[]{pComm}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final CommSubsystem pComm) { - return rawCountMatches(new Object[]{pComm}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pComm}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public UhfAntennaGainNotLow.Match newMatch(final CommSubsystem pComm) { - return UhfAntennaGainNotLow.Match.newMatch(pComm); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfComm(final Object[] parameters) { - return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()); - } - - @Override - protected UhfAntennaGainNotLow.Match tupleToMatch(final Tuple t) { - try { - return UhfAntennaGainNotLow.Match.newMatch((CommSubsystem) t.get(POSITION_COMM)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected UhfAntennaGainNotLow.Match arrayToMatch(final Object[] match) { - try { - return UhfAntennaGainNotLow.Match.newMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected UhfAntennaGainNotLow.Match arrayToMatchMutable(final Object[] match) { - try { - return UhfAntennaGainNotLow.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return UhfAntennaGainNotLow.instance(); - } - } - - private UhfAntennaGainNotLow() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static UhfAntennaGainNotLow instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected UhfAntennaGainNotLow.Matcher instantiate(final ViatraQueryEngine engine) { - return UhfAntennaGainNotLow.Matcher.on(engine); - } - - @Override - public UhfAntennaGainNotLow.Matcher instantiate() { - return UhfAntennaGainNotLow.Matcher.create(); - } - - @Override - public UhfAntennaGainNotLow.Match newEmptyMatch() { - return UhfAntennaGainNotLow.Match.newEmptyMatch(); - } - - @Override - public UhfAntennaGainNotLow.Match newMatch(final Object... parameters) { - return UhfAntennaGainNotLow.Match.newMatch((satellite.CommSubsystem) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow (visibility: PUBLIC, simpleName: UhfAntennaGainNotLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow (visibility: PUBLIC, simpleName: UhfAntennaGainNotLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final UhfAntennaGainNotLow INSTANCE = new UhfAntennaGainNotLow(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final UhfAntennaGainNotLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.uhfAntennaGainNotLow"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommSubsystem.band(Comm, TransceiverBand::UHF) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_1_, var__virtual_0_); - // // VIATRA will fail to infer a type constraint for the virtual variable introduced // when an enum literal appears in a negative pattern call, so we use a helper pattern // instead of neg find commSubsystemGain(Comm, AntennaGain::LOW); neg find commSubsystemGainLow(Comm) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Comm), CommSubsystemGainLow.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Comm") - })); - annotation.addAttribute("message", "UHF transceiver must be combined with a low gain antenna."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java deleted file mode 100644 index b50962c5..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/XAntennaGainNotMedium.java +++ /dev/null @@ -1,570 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium; -import java.util.Arrays; -import java.util.Collection; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.Set; -import java.util.function.Consumer; -import java.util.stream.Collectors; -import java.util.stream.Stream; -import org.apache.log4j.Logger; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.IPatternMatch; -import org.eclipse.viatra.query.runtime.api.IQuerySpecification; -import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecification; -import org.eclipse.viatra.query.runtime.api.impl.BaseMatcher; -import org.eclipse.viatra.query.runtime.api.impl.BasePatternMatch; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.PAnnotation; -import org.eclipse.viatra.query.runtime.matchers.psystem.annotations.ParameterReference; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuple; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.viatra.query.runtime.util.ViatraQueryLoggingUtil; -import satellite.CommSubsystem; - -/** - * A pattern-specific query specification that can instantiate Matcher in a type-safe way. - * - *

    Original source: - *

    - *         // X-band transmitters may only be combined with a medium gain antenna
    - *         
    - *         {@literal @}Constraint(severity = "error", key = {Comm},
    - *         	message = "X-band transceiver must be combined with a medium gain antenna.")
    - *         pattern xAntennaGainNotMedium(Comm : CommSubsystem) {
    - *         	CommSubsystem.band(Comm, TransceiverBand::X);
    - *         	neg find commSubsystemGainMedium(Comm);
    - *         }
    - * 
    - * - * @see Matcher - * @see Match - * - */ -@SuppressWarnings("all") -public final class XAntennaGainNotMedium extends BaseGeneratedEMFQuerySpecification { - /** - * Pattern-specific match representation of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium pattern, - * to be used in conjunction with {@link Matcher}. - * - *

    Class fields correspond to parameters of the pattern. Fields with value null are considered unassigned. - * Each instance is a (possibly partial) substitution of pattern parameters, - * usable to represent a match of the pattern in the result of a query, - * or to specify the bound (fixed) input parameters when issuing a query. - * - * @see Matcher - * - */ - public static abstract class Match extends BasePatternMatch { - private CommSubsystem fComm; - - private static List parameterNames = makeImmutableList("Comm"); - - private Match(final CommSubsystem pComm) { - this.fComm = pComm; - } - - @Override - public Object get(final String parameterName) { - if ("Comm".equals(parameterName)) return this.fComm; - return null; - } - - public CommSubsystem getComm() { - return this.fComm; - } - - @Override - public boolean set(final String parameterName, final Object newValue) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - if ("Comm".equals(parameterName) ) { - this.fComm = (CommSubsystem) newValue; - return true; - } - return false; - } - - public void setComm(final CommSubsystem pComm) { - if (!isMutable()) throw new java.lang.UnsupportedOperationException(); - this.fComm = pComm; - } - - @Override - public String patternName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"; - } - - @Override - public List parameterNames() { - return XAntennaGainNotMedium.Match.parameterNames; - } - - @Override - public Object[] toArray() { - return new Object[]{fComm}; - } - - @Override - public XAntennaGainNotMedium.Match toImmutable() { - return isMutable() ? newMatch(fComm) : this; - } - - @Override - public String prettyPrint() { - StringBuilder result = new StringBuilder(); - result.append("\"Comm\"=" + prettyPrintValue(fComm)); - return result.toString(); - } - - @Override - public int hashCode() { - return Objects.hash(fComm); - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) - return true; - if (obj == null) { - return false; - } - if ((obj instanceof XAntennaGainNotMedium.Match)) { - XAntennaGainNotMedium.Match other = (XAntennaGainNotMedium.Match) obj; - return Objects.equals(fComm, other.fComm); - } else { - // this should be infrequent - if (!(obj instanceof IPatternMatch)) { - return false; - } - IPatternMatch otherSig = (IPatternMatch) obj; - return Objects.equals(specification(), otherSig.specification()) && Arrays.deepEquals(toArray(), otherSig.toArray()); - } - } - - @Override - public XAntennaGainNotMedium specification() { - return XAntennaGainNotMedium.instance(); - } - - /** - * Returns an empty, mutable match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @return the empty match. - * - */ - public static XAntennaGainNotMedium.Match newEmptyMatch() { - return new Mutable(null); - } - - /** - * Returns a mutable (partial) match. - * Fields of the mutable match can be filled to create a partial match, usable as matcher input. - * - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the new, mutable (partial) match object. - * - */ - public static XAntennaGainNotMedium.Match newMutableMatch(final CommSubsystem pComm) { - return new Mutable(pComm); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public static XAntennaGainNotMedium.Match newMatch(final CommSubsystem pComm) { - return new Immutable(pComm); - } - - private static final class Mutable extends XAntennaGainNotMedium.Match { - Mutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return true; - } - } - - private static final class Immutable extends XAntennaGainNotMedium.Match { - Immutable(final CommSubsystem pComm) { - super(pComm); - } - - @Override - public boolean isMutable() { - return false; - } - } - } - - /** - * Generated pattern matcher API of the hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium pattern, - * providing pattern-specific query methods. - * - *

    Use the pattern matcher on a given model via {@link #on(ViatraQueryEngine)}, - * e.g. in conjunction with {@link ViatraQueryEngine#on(QueryScope)}. - * - *

    Matches of the pattern will be represented as {@link Match}. - * - *

    Original source: - *

    -   * // X-band transmitters may only be combined with a medium gain antenna
    -   * 
    -   * {@literal @}Constraint(severity = "error", key = {Comm},
    -   * 	message = "X-band transceiver must be combined with a medium gain antenna.")
    -   * pattern xAntennaGainNotMedium(Comm : CommSubsystem) {
    -   * 	CommSubsystem.band(Comm, TransceiverBand::X);
    -   * 	neg find commSubsystemGainMedium(Comm);
    -   * }
    -   * 
    - * - * @see Match - * @see XAntennaGainNotMedium - * - */ - public static class Matcher extends BaseMatcher { - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - public static XAntennaGainNotMedium.Matcher on(final ViatraQueryEngine engine) { - // check if matcher already exists - Matcher matcher = engine.getExistingMatcher(querySpecification()); - if (matcher == null) { - matcher = (Matcher)engine.getMatcher(querySpecification()); - } - return matcher; - } - - /** - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * @return an initialized matcher - * @noreference This method is for internal matcher initialization by the framework, do not call it manually. - * - */ - public static XAntennaGainNotMedium.Matcher create() { - return new Matcher(); - } - - private static final int POSITION_COMM = 0; - - private static final Logger LOGGER = ViatraQueryLoggingUtil.getLogger(XAntennaGainNotMedium.Matcher.class); - - /** - * Initializes the pattern matcher within an existing VIATRA Query engine. - * If the pattern matcher is already constructed in the engine, only a light-weight reference is returned. - * - * @param engine the existing VIATRA Query engine in which this matcher will be created. - * @throws ViatraQueryRuntimeException if an error occurs during pattern matcher creation - * - */ - private Matcher() { - super(querySpecification()); - } - - /** - * Returns the set of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return matches represented as a Match object. - * - */ - public Collection getAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}).collect(Collectors.toSet()); - } - - /** - * Returns a stream of all matches of the pattern that conform to the given fixed values of some parameters. - *

    - * NOTE: It is important not to modify the source model while the stream is being processed. - * If the match set of the pattern changes during processing, the contents of the stream is undefined. - * In such cases, either rely on {@link #getAllMatches()} or collect the results of the stream in end-user code. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a stream of matches represented as a Match object. - * - */ - public Stream streamAllMatches(final CommSubsystem pComm) { - return rawStreamAllMatches(new Object[]{pComm}); - } - - /** - * Returns an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return a match represented as a Match object, or null if no match is found. - * - */ - public Optional getOneArbitraryMatch(final CommSubsystem pComm) { - return rawGetOneArbitraryMatch(new Object[]{pComm}); - } - - /** - * Indicates whether the given combination of specified pattern parameters constitute a valid pattern match, - * under any possible substitution of the unspecified parameters (if any). - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return true if the input is a valid (partial) match of the pattern. - * - */ - public boolean hasMatch(final CommSubsystem pComm) { - return rawHasMatch(new Object[]{pComm}); - } - - /** - * Returns the number of all matches of the pattern that conform to the given fixed values of some parameters. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the number of pattern matches found. - * - */ - public int countMatches(final CommSubsystem pComm) { - return rawCountMatches(new Object[]{pComm}); - } - - /** - * Executes the given processor on an arbitrarily chosen match of the pattern that conforms to the given fixed values of some parameters. - * Neither determinism nor randomness of selection is guaranteed. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @param processor the action that will process the selected match. - * @return true if the pattern has at least one match with the given parameter values, false if the processor was not invoked - * - */ - public boolean forOneArbitraryMatch(final CommSubsystem pComm, final Consumer processor) { - return rawForOneArbitraryMatch(new Object[]{pComm}, processor); - } - - /** - * Returns a new (partial) match. - * This can be used e.g. to call the matcher with a partial match. - *

    The returned match will be immutable. Use {@link #newEmptyMatch()} to obtain a mutable match object. - * @param pComm the fixed value of pattern parameter Comm, or null if not bound. - * @return the (partial) match object. - * - */ - public XAntennaGainNotMedium.Match newMatch(final CommSubsystem pComm) { - return XAntennaGainNotMedium.Match.newMatch(pComm); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - protected Stream rawStreamAllValuesOfComm(final Object[] parameters) { - return rawStreamAllValues(POSITION_COMM, parameters).map(CommSubsystem.class::cast); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Set getAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()).collect(Collectors.toSet()); - } - - /** - * Retrieve the set of values that occur in matches for Comm. - * @return the Set of all values or empty set if there are no matches - * - */ - public Stream streamAllValuesOfComm() { - return rawStreamAllValuesOfComm(emptyArray()); - } - - @Override - protected XAntennaGainNotMedium.Match tupleToMatch(final Tuple t) { - try { - return XAntennaGainNotMedium.Match.newMatch((CommSubsystem) t.get(POSITION_COMM)); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in tuple not properly typed!",e); - return null; - } - } - - @Override - protected XAntennaGainNotMedium.Match arrayToMatch(final Object[] match) { - try { - return XAntennaGainNotMedium.Match.newMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - @Override - protected XAntennaGainNotMedium.Match arrayToMatchMutable(final Object[] match) { - try { - return XAntennaGainNotMedium.Match.newMutableMatch((CommSubsystem) match[POSITION_COMM]); - } catch(ClassCastException e) { - LOGGER.error("Element(s) in array not properly typed!",e); - return null; - } - } - - /** - * @return the singleton instance of the query specification of this pattern - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IQuerySpecification querySpecification() { - return XAntennaGainNotMedium.instance(); - } - } - - private XAntennaGainNotMedium() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static XAntennaGainNotMedium instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - @Override - protected XAntennaGainNotMedium.Matcher instantiate(final ViatraQueryEngine engine) { - return XAntennaGainNotMedium.Matcher.on(engine); - } - - @Override - public XAntennaGainNotMedium.Matcher instantiate() { - return XAntennaGainNotMedium.Matcher.create(); - } - - @Override - public XAntennaGainNotMedium.Match newEmptyMatch() { - return XAntennaGainNotMedium.Match.newEmptyMatch(); - } - - @Override - public XAntennaGainNotMedium.Match newMatch(final Object... parameters) { - return XAntennaGainNotMedium.Match.newMatch((satellite.CommSubsystem) parameters[0]); - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium (visibility: PUBLIC, simpleName: XAntennaGainNotMedium, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium (visibility: PUBLIC, simpleName: XAntennaGainNotMedium, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final XAntennaGainNotMedium INSTANCE = new XAntennaGainNotMedium(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final XAntennaGainNotMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PUBLIC); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.xAntennaGainNotMedium"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommSubsystem.band(Comm, TransceiverBand::X) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_1_, var__virtual_0_); - // neg find commSubsystemGainMedium(Comm) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Comm), CommSubsystemGainMedium.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - { - PAnnotation annotation = new PAnnotation("Constraint"); - annotation.addAttribute("severity", "error"); - annotation.addAttribute("key", Arrays.asList(new Object[] { - new ParameterReference("Comm") - })); - annotation.addAttribute("message", "X-band transceiver must be combined with a medium gain antenna."); - addAnnotation(annotation); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace new file mode 100644 index 00000000..d0140d1a Binary files /dev/null and b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.CubeSat6U.java._trace differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace new file mode 100644 index 00000000..7cab430c Binary files /dev/null and b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.MatchingCommSubsystem.java._trace differ diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore index 4c8bcc9e..ea4a15d7 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/.gitignore @@ -36,3 +36,31 @@ /.CubeSat3U.java._trace /.LinkAllowed.java._trace /.IndirectLinkAllowed.java._trace +/AdditionalCommSubsystemCost.java +/AtLeastTwoInterferometryPayloads.java +/BasePrice.java +/CommSubsystemBand.java +/CommSubsystemBandUhf.java +/CommSubsystemGain.java +/CommSubsystemGainLow.java +/CommSubsystemGainMedium.java +/CubeSat3U.java +/DirectCommunicationLink.java +/GroundStationNetwork.java +/IncomingData.java +/IndirectCommunicationLink.java +/IndirectLinkAllowed.java +/InterferometryPayloadCost.java +/LinkAllowed.java +/MatchingAntenna.java +/MissionCost.java +/MissionCoverage.java +/MissionTime.java +/SatelliteQueriesAll.java +/ScienceData.java +/SpacecraftCost.java +/SpacecraftUplink.java +/SpacecraftWithInterferometryPayload.java +/SpacecraftWithTwoCommSubsystems.java +/TransmitRate.java +/TransmitTime.java diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AdditionalCommSubsystemCost.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AdditionalCommSubsystemCost.java deleted file mode 100644 index 293fdbe0..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/AdditionalCommSubsystemCost.java +++ /dev/null @@ -1,173 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern additionalCommSubsystemCost(Spacecraft : Spacecraft, Cost : java Double) {
    - *         	find spacecraftWithTwoCommSubsystems(Spacecraft);
    - *         	Cost == 100000.0;
    - *         } or {
    - *         	neg find spacecraftWithTwoCommSubsystems(Spacecraft);
    - *         	Cost == 0.0;
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class AdditionalCommSubsystemCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private AdditionalCommSubsystemCost() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static AdditionalCommSubsystemCost instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost (visibility: PUBLIC, simpleName: AdditionalCommSubsystemCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost (visibility: PUBLIC, simpleName: AdditionalCommSubsystemCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final AdditionalCommSubsystemCost INSTANCE = new AdditionalCommSubsystemCost(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final AdditionalCommSubsystemCost.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Cost); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.additionalCommSubsystemCost"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Cost"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // find spacecraftWithTwoCommSubsystems(Spacecraft) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SpacecraftWithTwoCommSubsystems.instance().getInternalQueryRepresentation()); - // Cost == 100000.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 100000.0); - new Equality(body, var_Cost, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // neg find spacecraftWithTwoCommSubsystems(Spacecraft) - new NegativePatternCall(body, Tuples.flatTupleOf(var_Spacecraft), SpacecraftWithTwoCommSubsystems.instance().getInternalQueryRepresentation()); - // Cost == 0.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 0.0); - new Equality(body, var_Cost, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1() { - return 100000.0; - } - - private static double evaluateExpression_2_1() { - return 0.0; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/BasePrice.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/BasePrice.java deleted file mode 100644 index 833148f9..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/BasePrice.java +++ /dev/null @@ -1,195 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         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;
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class BasePrice extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private BasePrice() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static BasePrice instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice (visibility: PUBLIC, simpleName: BasePrice, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice (visibility: PUBLIC, simpleName: BasePrice, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final BasePrice INSTANCE = new BasePrice(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final BasePrice.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_BasePrice = new PParameter("BasePrice", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_BasePrice); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.basePrice"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","BasePrice"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_BasePrice, parameter_BasePrice) - )); - // CubeSat3U(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U"))); - // BasePrice == 250000.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 250000.0); - new Equality(body, var_BasePrice, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_BasePrice, parameter_BasePrice) - )); - // CubeSat6U(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); - // BasePrice == 750000.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 750000.0); - new Equality(body, var_BasePrice, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_BasePrice), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_BasePrice, parameter_BasePrice) - )); - // SmallSat(Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "SmallSat"))); - // BasePrice == 3000000.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 3000000.0); - new Equality(body, var_BasePrice, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1() { - return 250000.0; - } - - private static double evaluateExpression_2_1() { - return 750000.0; - } - - private static double evaluateExpression_3_1() { - return 3000000.0; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java deleted file mode 100644 index 609e0b93..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBand.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern commSubsystemBand(Comm : CommSubsystem, Band : TransceiverBand) {
    - *         	CommSubsystem.band(Comm, Band);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class CommSubsystemBand extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private CommSubsystemBand() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CommSubsystemBand instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand (visibility: PUBLIC, simpleName: CommSubsystemBand, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand (visibility: PUBLIC, simpleName: CommSubsystemBand, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CommSubsystemBand INSTANCE = new CommSubsystemBand(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommSubsystemBand.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm, parameter_Band); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemBand"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm","Band"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - PVariable var_Band = body.getOrCreateVariableByName("Band"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm), - new ExportedParameter(body, var_Band, parameter_Band) - )); - // CommSubsystem.band(Comm, Band) - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_0_, var_Band); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java index bc25ea59..6acd73c3 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemBandUhf.java @@ -8,18 +8,13 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Set; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; @@ -31,8 +26,8 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; * *

    Original source: *

    - *         private pattern commSubsystemBandUhf(Comm : CommSubsystem) {
    - *         	CommSubsystem.band(Comm, TransceiverBand::UHF);
    + *         private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) {
    + *         	UHFCommSubsystem(Comm);
      *         }
      * 
    * @@ -88,7 +83,7 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { private static final CommSubsystemBandUhf.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); + private final PParameter parameter_Comm = new PParameter("Comm", "satellite.UHFCommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "UHFCommSubsystem")), PParameterDirection.INOUT); private final List parameters = Arrays.asList(parameter_Comm); @@ -118,18 +113,12 @@ public final class CommSubsystemBandUhf extends BaseGeneratedEMFQuerySpecificati { PBody body = new PBody(this); PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); body.setSymbolicParameters(Arrays.asList( new ExportedParameter(body, var_Comm, parameter_Comm) )); - // CommSubsystem.band(Comm, TransceiverBand::UHF) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_1_, var__virtual_0_); + // UHFCommSubsystem(Comm) + new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); bodies.add(body); } return bodies; diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java deleted file mode 100644 index 69793a96..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGain.java +++ /dev/null @@ -1,140 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern commSubsystemGain(Comm : CommSubsystem, Gain : AntennaGain) {
    - *         	CommSubsystem.gain(Comm, Gain);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class CommSubsystemGain extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private CommSubsystemGain() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CommSubsystemGain instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain (visibility: PUBLIC, simpleName: CommSubsystemGain, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain (visibility: PUBLIC, simpleName: CommSubsystemGain, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CommSubsystemGain INSTANCE = new CommSubsystemGain(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommSubsystemGain.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final PParameter parameter_Gain = new PParameter("Gain", "satellite.AntennaGain", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "AntennaGain")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm, parameter_Gain); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGain"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm","Gain"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - PVariable var_Gain = body.getOrCreateVariableByName("Gain"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Gain), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm), - new ExportedParameter(body, var_Gain, parameter_Gain) - )); - // CommSubsystem.gain(Comm, Gain) - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_0_, var_Gain); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java deleted file mode 100644 index fd24f163..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainLow.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern commSubsystemGainLow(Comm : CommSubsystem) {
    - *         	CommSubsystem.gain(Comm, AntennaGain::LOW);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class CommSubsystemGainLow extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private CommSubsystemGainLow() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CommSubsystemGainLow instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow (visibility: PUBLIC, simpleName: CommSubsystemGainLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow (visibility: PUBLIC, simpleName: CommSubsystemGainLow, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CommSubsystemGainLow INSTANCE = new CommSubsystemGainLow(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommSubsystemGainLow.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainLow"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommSubsystem.gain(Comm, AntennaGain::LOW) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "LOW").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_1_, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java deleted file mode 100644 index 82b77bbc..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CommSubsystemGainMedium.java +++ /dev/null @@ -1,138 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern commSubsystemGainMedium(Comm : CommSubsystem) {
    - *         	CommSubsystem.gain(Comm, AntennaGain::MEDIUM);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class CommSubsystemGainMedium extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private CommSubsystemGainMedium() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static CommSubsystemGainMedium instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium (visibility: PUBLIC, simpleName: CommSubsystemGainMedium, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium (visibility: PUBLIC, simpleName: CommSubsystemGainMedium, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final CommSubsystemGainMedium INSTANCE = new CommSubsystemGainMedium(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final CommSubsystemGainMedium.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Comm = new PParameter("Comm", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Comm); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.commSubsystemGainMedium"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Comm"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Comm = body.getOrCreateVariableByName("Comm"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Comm, parameter_Comm) - )); - // CommSubsystem.gain(Comm, AntennaGain::MEDIUM) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "AntennaGain", "MEDIUM").getInstance()); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Comm, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_1_, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java new file mode 100644 index 00000000..e4526a02 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/CubeSat6U.java @@ -0,0 +1,127 @@ +/** + * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql + */ +package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; + +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; +import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; +import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; +import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; +import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; + +/** + * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. + * + *

    Original source: + *

    + *         private pattern cubeSat6U(Sat : CubeSat6U) {
    + *         	CubeSat6U(Sat);
    + *         }
    + * 
    + * + * @see GenericPatternMatcher + * @see GenericPatternMatch + * + */ +@SuppressWarnings("all") +public final class CubeSat6U extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { + private CubeSat6U() { + super(GeneratedPQuery.INSTANCE); + } + + /** + * @return the singleton instance of the query specification + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static CubeSat6U instance() { + try{ + return LazyHolder.INSTANCE; + } catch (ExceptionInInitializerError err) { + throw processInitializerError(err); + } + } + + /** + * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U (visibility: PUBLIC, simpleName: CubeSat6U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created + * not at the class load time of the outer class, + * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U (visibility: PUBLIC, simpleName: CubeSat6U, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. + * + *

    This workaround is required e.g. to support recursion. + * + */ + private static class LazyHolder { + private static final CubeSat6U INSTANCE = new CubeSat6U(); + + /** + * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. + * This initialization order is required to support indirect recursion. + * + *

    The static initializer is defined using a helper field to work around limitations of the code generator. + * + */ + private static final Object STATIC_INITIALIZER = ensureInitialized(); + + public static Object ensureInitialized() { + INSTANCE.ensureInitializedInternal(); + return null; + } + } + + private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { + private static final CubeSat6U.GeneratedPQuery INSTANCE = new GeneratedPQuery(); + + private final PParameter parameter_Sat = new PParameter("Sat", "satellite.CubeSat6U", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CubeSat6U")), PParameterDirection.INOUT); + + private final List parameters = Arrays.asList(parameter_Sat); + + private GeneratedPQuery() { + super(PVisibility.PRIVATE); + } + + @Override + public String getFullyQualifiedName() { + return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.cubeSat6U"; + } + + @Override + public List getParameterNames() { + return Arrays.asList("Sat"); + } + + @Override + public List getParameters() { + return parameters; + } + + @Override + public Set doGetContainedBodies() { + setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); + Set bodies = new LinkedHashSet<>(); + { + PBody body = new PBody(this); + PVariable var_Sat = body.getOrCreateVariableByName("Sat"); + new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_Sat, parameter_Sat) + )); + // CubeSat6U(Sat) + new TypeConstraint(body, Tuples.flatTupleOf(var_Sat), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat6U"))); + bodies.add(body); + } + return bodies; + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IncomingData.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IncomingData.java deleted file mode 100644 index 4d18f028..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/IncomingData.java +++ /dev/null @@ -1,145 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern incomingData(Spacecraft : Spacecraft, Source : Spacecraft, Data : java Double) {
    - *         	find indirectCommunicationLink(Source, Spacecraft);
    - *         	find scienceData(Source, Data);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class IncomingData extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private IncomingData() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static IncomingData instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData (visibility: PUBLIC, simpleName: IncomingData, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData (visibility: PUBLIC, simpleName: IncomingData, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final IncomingData INSTANCE = new IncomingData(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final IncomingData.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Source = new PParameter("Source", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Data = new PParameter("Data", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Source, parameter_Data); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.incomingData"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Source","Data"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Source = body.getOrCreateVariableByName("Source"); - PVariable var_Data = body.getOrCreateVariableByName("Data"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Source), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Data), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Source, parameter_Source), - new ExportedParameter(body, var_Data, parameter_Data) - )); - // find indirectCommunicationLink(Source, Spacecraft) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Source, var_Spacecraft), IndirectCommunicationLink.instance().getInternalQueryRepresentation()); - // find scienceData(Source, Data) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Source, var_Data), ScienceData.instance().getInternalQueryRepresentation()); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/InterferometryPayloadCost.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/InterferometryPayloadCost.java deleted file mode 100644 index 535f32d9..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/InterferometryPayloadCost.java +++ /dev/null @@ -1,175 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern interferometryPayloadCost(Spacecraft : Spacecraft, Cost : java Double) {
    - *         	find spacecraftWithInterferometryPayload(_, Spacecraft);
    - *         	Cost == 50000.0;
    - *         } or {
    - *         	neg find spacecraftWithInterferometryPayload(_, Spacecraft);
    - *         	Cost == 0.0;
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class InterferometryPayloadCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private InterferometryPayloadCost() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static InterferometryPayloadCost instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost (visibility: PUBLIC, simpleName: InterferometryPayloadCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost (visibility: PUBLIC, simpleName: InterferometryPayloadCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final InterferometryPayloadCost INSTANCE = new InterferometryPayloadCost(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final InterferometryPayloadCost.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Cost); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.interferometryPayloadCost"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Cost"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // find spacecraftWithInterferometryPayload(_, Spacecraft) - new PositivePatternCall(body, Tuples.flatTupleOf(var___0_, var_Spacecraft), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation()); - // Cost == 50000.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 50000.0); - new Equality(body, var_Cost, var__virtual_0_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // neg find spacecraftWithInterferometryPayload(_, Spacecraft) - new NegativePatternCall(body, Tuples.flatTupleOf(var___0_, var_Spacecraft), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation()); - // Cost == 0.0 - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, 0.0); - new Equality(body, var_Cost, var__virtual_0_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1() { - return 50000.0; - } - - private static double evaluateExpression_2_1() { - return 0.0; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java index 7118d657..c3f6bb82 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/LinkAllowed.java @@ -18,7 +18,6 @@ import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.NegativePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; @@ -32,13 +31,13 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; *

    Original source: *

      *         private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) {
    - *         	find matchingAntenna(From, To, _);
    + *         	find matchingAntenna(From, To);
      *         	neg find cubeSat3U(From);
      *         } or {
    - *         	find matchingAntenna(From, To, TransceiverBand::UHF);
    + *         	find matchingAntenna(From, To);
      *         	CubeSat3U(From);
      *         } or {
    - *         	find matchingAntenna(From, To, _);
    + *         	find matchingAntenna(From, To);
      *         	CubeSat3U(From);
      *         	GroundStationNetwork(To);
      *         }
    @@ -129,15 +128,14 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
               PBody body = new PBody(this);
               PVariable var_From = body.getOrCreateVariableByName("From");
               PVariable var_To = body.getOrCreateVariableByName("To");
    -          PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
               new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
               new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
               body.setSymbolicParameters(Arrays.asList(
                  new ExportedParameter(body, var_From, parameter_From),
                  new ExportedParameter(body, var_To, parameter_To)
               ));
    -          // 	find matchingAntenna(From, To, _)
    -          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var___0_), MatchingAntenna.instance().getInternalQueryRepresentation());
    +          // 	find matchingAntenna(From, To)
    +          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
               // 	neg find cubeSat3U(From)
               new NegativePatternCall(body, Tuples.flatTupleOf(var_From), CubeSat3U.instance().getInternalQueryRepresentation());
               bodies.add(body);
    @@ -152,10 +150,8 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
                  new ExportedParameter(body, var_From, parameter_From),
                  new ExportedParameter(body, var_To, parameter_To)
               ));
    -          // 	find matchingAntenna(From, To, TransceiverBand::UHF)
    -          PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}");
    -          new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance());
    -          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var__virtual_0_), MatchingAntenna.instance().getInternalQueryRepresentation());
    +          // 	find matchingAntenna(From, To)
    +          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
               // 	CubeSat3U(From)
               new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
               bodies.add(body);
    @@ -164,15 +160,14 @@ public final class LinkAllowed extends BaseGeneratedEMFQuerySpecificationWithGen
               PBody body = new PBody(this);
               PVariable var_From = body.getOrCreateVariableByName("From");
               PVariable var_To = body.getOrCreateVariableByName("To");
    -          PVariable var___0_ = body.getOrCreateVariableByName("_<0>");
               new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft")));
               new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement")));
               body.setSymbolicParameters(Arrays.asList(
                  new ExportedParameter(body, var_From, parameter_From),
                  new ExportedParameter(body, var_To, parameter_To)
               ));
    -          // 	find matchingAntenna(From, To, _)
    -          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To, var___0_), MatchingAntenna.instance().getInternalQueryRepresentation());
    +          // 	find matchingAntenna(From, To)
    +          new PositivePatternCall(body, Tuples.flatTupleOf(var_From, var_To), MatchingAntenna.instance().getInternalQueryRepresentation());
               // 	CubeSat3U(From)
               new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CubeSat3U")));
               // 	GroundStationNetwork(To)
    diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
    index 3a52ad1d..6ee10814 100644
    --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
    +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingAntenna.java
    @@ -3,22 +3,22 @@
      */
     package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal;
     
    +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem;
     import java.util.Arrays;
     import java.util.LinkedHashSet;
     import java.util.List;
     import java.util.Set;
     import org.eclipse.emf.ecore.EClass;
    -import org.eclipse.emf.ecore.EDataType;
     import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery;
     import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher;
     import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey;
    -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey;
     import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey;
     import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint;
     import org.eclipse.viatra.query.runtime.matchers.psystem.PBody;
     import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable;
     import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality;
     import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter;
    +import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall;
     import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint;
     import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter;
     import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection;
    @@ -30,11 +30,10 @@ import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples;
      * 
      * 

    Original source: *

    - *         private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement, Band : TransceiverBand) {
    - *         	CommunicatingElement.commSubsystem.band(From, Band);
    - *         	CommunicatingElement.commSubsystem.band(To, Band);
    - *         	CommunicatingElement.commSubsystem.gain(From, Gain);
    - *         	CommunicatingElement.commSubsystem.gain(To, Gain);
    + *         private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement) {
    + *         	CommunicatingElement.commSubsystem(From, FromSys);
    + *         	CommunicatingElement.commSubsystem(To, ToSys);
    + *         	find matchingCommSubsystem(FromSys, ToSys);
      *         }
      * 
    * @@ -94,9 +93,7 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit private final PParameter parameter_To = new PParameter("To", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); - private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_From, parameter_To, parameter_Band); + private final List parameters = Arrays.asList(parameter_From, parameter_To); private GeneratedPQuery() { super(PVisibility.PRIVATE); @@ -109,7 +106,7 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit @Override public List getParameterNames() { - return Arrays.asList("From","To","Band"); + return Arrays.asList("From","To"); } @Override @@ -125,52 +122,28 @@ public final class MatchingAntenna extends BaseGeneratedEMFQuerySpecificationWit PBody body = new PBody(this); PVariable var_From = body.getOrCreateVariableByName("From"); PVariable var_To = body.getOrCreateVariableByName("To"); - PVariable var_Band = body.getOrCreateVariableByName("Band"); - PVariable var_Gain = body.getOrCreateVariableByName("Gain"); + PVariable var_FromSys = body.getOrCreateVariableByName("FromSys"); + PVariable var_ToSys = body.getOrCreateVariableByName("ToSys"); new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); body.setSymbolicParameters(Arrays.asList( new ExportedParameter(body, var_From, parameter_From), - new ExportedParameter(body, var_To, parameter_To), - new ExportedParameter(body, var_Band, parameter_Band) + new ExportedParameter(body, var_To, parameter_To) )); - // CommunicatingElement.commSubsystem.band(From, Band) + // CommunicatingElement.commSubsystem(From, FromSys) new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_1_, var_Band); - // CommunicatingElement.commSubsystem.band(To, Band) + new Equality(body, var__virtual_0_, var_FromSys); + // CommunicatingElement.commSubsystem(To, ToSys) new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_3_, var_Band); - // CommunicatingElement.commSubsystem.gain(From, Gain) - new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_4_ = body.getOrCreateVariableByName(".virtual{4}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_From, var__virtual_4_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_5_ = body.getOrCreateVariableByName(".virtual{5}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_, var__virtual_5_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_5_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_5_, var_Gain); - // CommunicatingElement.commSubsystem.gain(To, Gain) - new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_6_ = body.getOrCreateVariableByName(".virtual{6}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_6_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_6_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_7_ = body.getOrCreateVariableByName(".virtual{7}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_6_, var__virtual_7_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "gain"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_7_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "AntennaGain"))); - new Equality(body, var__virtual_7_, var_Gain); + PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); + new TypeConstraint(body, Tuples.flatTupleOf(var_To, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new Equality(body, var__virtual_1_, var_ToSys); + // find matchingCommSubsystem(FromSys, ToSys) + new PositivePatternCall(body, Tuples.flatTupleOf(var_FromSys, var_ToSys), MatchingCommSubsystem.instance().getInternalQueryRepresentation()); bodies.add(body); } return bodies; diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java new file mode 100644 index 00000000..24726d21 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MatchingCommSubsystem.java @@ -0,0 +1,173 @@ +/** + * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql + */ +package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; + +import java.util.Arrays; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Set; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; +import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; +import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; +import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; +import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; +import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; +import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; +import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; + +/** + * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. + * + *

    Original source: + *

    + *         private pattern matchingCommSubsystem(From : CommSubsystem, To : CommSubsystem) {
    + *         	UHFCommSubsystem(From);
    + *         	UHFCommSubsystem(To);
    + *         } or {
    + *         	XCommSubsystem(From);
    + *         	XCommSubsystem(To);
    + *         } or {
    + *         	KaCommSubsystem(From);
    + *         	KaCommSubsystem(To);
    + *         }
    + * 
    + * + * @see GenericPatternMatcher + * @see GenericPatternMatch + * + */ +@SuppressWarnings("all") +public final class MatchingCommSubsystem extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { + private MatchingCommSubsystem() { + super(GeneratedPQuery.INSTANCE); + } + + /** + * @return the singleton instance of the query specification + * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded + * + */ + public static MatchingCommSubsystem instance() { + try{ + return LazyHolder.INSTANCE; + } catch (ExceptionInInitializerError err) { + throw processInitializerError(err); + } + } + + /** + * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem (visibility: PUBLIC, simpleName: MatchingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created + * not at the class load time of the outer class, + * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem (visibility: PUBLIC, simpleName: MatchingCommSubsystem, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. + * + *

    This workaround is required e.g. to support recursion. + * + */ + private static class LazyHolder { + private static final MatchingCommSubsystem INSTANCE = new MatchingCommSubsystem(); + + /** + * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. + * This initialization order is required to support indirect recursion. + * + *

    The static initializer is defined using a helper field to work around limitations of the code generator. + * + */ + private static final Object STATIC_INITIALIZER = ensureInitialized(); + + public static Object ensureInitialized() { + INSTANCE.ensureInitializedInternal(); + return null; + } + } + + private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { + private static final MatchingCommSubsystem.GeneratedPQuery INSTANCE = new GeneratedPQuery(); + + private final PParameter parameter_From = new PParameter("From", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); + + private final PParameter parameter_To = new PParameter("To", "satellite.CommSubsystem", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommSubsystem")), PParameterDirection.INOUT); + + private final List parameters = Arrays.asList(parameter_From, parameter_To); + + private GeneratedPQuery() { + super(PVisibility.PRIVATE); + } + + @Override + public String getFullyQualifiedName() { + return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.matchingCommSubsystem"; + } + + @Override + public List getParameterNames() { + return Arrays.asList("From","To"); + } + + @Override + public List getParameters() { + return parameters; + } + + @Override + public Set doGetContainedBodies() { + setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); + Set bodies = new LinkedHashSet<>(); + { + PBody body = new PBody(this); + PVariable var_From = body.getOrCreateVariableByName("From"); + PVariable var_To = body.getOrCreateVariableByName("To"); + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_From, parameter_From), + new ExportedParameter(body, var_To, parameter_To) + )); + // UHFCommSubsystem(From) + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); + // UHFCommSubsystem(To) + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "UHFCommSubsystem"))); + bodies.add(body); + } + { + PBody body = new PBody(this); + PVariable var_From = body.getOrCreateVariableByName("From"); + PVariable var_To = body.getOrCreateVariableByName("To"); + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_From, parameter_From), + new ExportedParameter(body, var_To, parameter_To) + )); + // XCommSubsystem(From) + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); + // XCommSubsystem(To) + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "XCommSubsystem"))); + bodies.add(body); + } + { + PBody body = new PBody(this); + PVariable var_From = body.getOrCreateVariableByName("From"); + PVariable var_To = body.getOrCreateVariableByName("To"); + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); + body.setSymbolicParameters(Arrays.asList( + new ExportedParameter(body, var_From, parameter_From), + new ExportedParameter(body, var_To, parameter_To) + )); + // KaCommSubsystem(From) + new TypeConstraint(body, Tuples.flatTupleOf(var_From), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); + // KaCommSubsystem(To) + new TypeConstraint(body, Tuples.flatTupleOf(var_To), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "KaCommSubsystem"))); + bodies.add(body); + } + return bodies; + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCost.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCost.java deleted file mode 100644 index c3389e11..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCost.java +++ /dev/null @@ -1,183 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern missionCost(Mission : InterferometryMission, Cost : java Double) {
    - *         	InterferometryMission.observationTime(Mission, ObservationTime);
    - *         	SpacecraftCost == sum find spacecraftCost(Mission, _, #_);
    - *         	Cost == eval(SpacecraftCost + 100000.0  ObservationTime);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class MissionCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private MissionCost() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static MissionCost instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost (visibility: PUBLIC, simpleName: MissionCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost (visibility: PUBLIC, simpleName: MissionCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final MissionCost INSTANCE = new MissionCost(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final MissionCost.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission, parameter_Cost); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionCost"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission","Cost"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime"); - PVariable var_SpacecraftCost = body.getOrCreateVariableByName("SpacecraftCost"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // InterferometryMission.observationTime(Mission, ObservationTime) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat"))); - new Equality(body, var__virtual_0_, var_ObservationTime); - // SpacecraftCost == sum find spacecraftCost(Mission, _, #_) - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Mission, var___0_, var___1_), SpacecraftCost.instance().getInternalQueryRepresentation(), var__virtual_1_, 2); - new Equality(body, var_SpacecraftCost, var__virtual_1_); - // Cost == eval(SpacecraftCost + 100000.0 * ObservationTime) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern missionCost"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("ObservationTime", "SpacecraftCost");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Float ObservationTime = (Float) provider.getValue("ObservationTime"); - Double SpacecraftCost = (Double) provider.getValue("SpacecraftCost"); - return evaluateExpression_1_1(ObservationTime, SpacecraftCost); - } - }, var__virtual_2_ ); - new Equality(body, var_Cost, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Float ObservationTime, final Double SpacecraftCost) { - return ((SpacecraftCost).doubleValue() + (100000.0 * (ObservationTime).floatValue())); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCoverage.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCoverage.java deleted file mode 100644 index 639d82ef..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionCoverage.java +++ /dev/null @@ -1,183 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         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);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class MissionCoverage extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private MissionCoverage() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static MissionCoverage instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage (visibility: PUBLIC, simpleName: MissionCoverage, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage (visibility: PUBLIC, simpleName: MissionCoverage, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final MissionCoverage INSTANCE = new MissionCoverage(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final MissionCoverage.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final PParameter parameter_Coverage = new PParameter("Coverage", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission, parameter_Coverage); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionCoverage"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission","Coverage"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_Coverage = body.getOrCreateVariableByName("Coverage"); - PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime"); - PVariable var_ObserverCount = body.getOrCreateVariableByName("ObserverCount"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Coverage), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission), - new ExportedParameter(body, var_Coverage, parameter_Coverage) - )); - // InterferometryMission.observationTime(Mission, ObservationTime) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat"))); - new Equality(body, var__virtual_0_, var_ObservationTime); - // ObserverCount == count find spacecraftWithInterferometryPayload(Mission, _) - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new PatternMatchCounter(body, Tuples.flatTupleOf(var_Mission, var___0_), SpacecraftWithInterferometryPayload.instance().getInternalQueryRepresentation(), var__virtual_1_); - new Equality(body, var_ObserverCount, var__virtual_1_); - // Coverage == eval(Math.pow(1 - 2.0 / ObserverCount, 1 + 9 * (1.0 / ObservationTime)) + 0.05 * ObservationTime / 3) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern missionCoverage"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("ObservationTime", "ObserverCount");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Float ObservationTime = (Float) provider.getValue("ObservationTime"); - Integer ObserverCount = (Integer) provider.getValue("ObserverCount"); - return evaluateExpression_1_1(ObservationTime, ObserverCount); - } - }, var__virtual_2_ ); - new Equality(body, var_Coverage, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Float ObservationTime, final Integer ObserverCount) { - double _pow = Math.pow((1 - (2.0 / (ObserverCount).intValue())), (1 + (9 * (1.0 / (ObservationTime).floatValue())))); - double _plus = (_pow + ((0.05 * (ObservationTime).floatValue()) / 3)); - return _plus; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionTime.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionTime.java deleted file mode 100644 index 5e610441..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/MissionTime.java +++ /dev/null @@ -1,183 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern missionTime(Mission : InterferometryMission, Time : java Double) {
    - *         	InterferometryMission.observationTime(Mission, ObservationTime);
    - *         	TrasmitTime == sum find transmitTime(Mission, _, #_);
    - *         	Time == eval(TrasmitTime + 60.0  ObservationTime);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class MissionTime extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private MissionTime() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static MissionTime instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime (visibility: PUBLIC, simpleName: MissionTime, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime (visibility: PUBLIC, simpleName: MissionTime, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final MissionTime INSTANCE = new MissionTime(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final MissionTime.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final PParameter parameter_Time = new PParameter("Time", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission, parameter_Time); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.missionTime"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission","Time"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_Time = body.getOrCreateVariableByName("Time"); - PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime"); - PVariable var_TrasmitTime = body.getOrCreateVariableByName("TrasmitTime"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Time), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission), - new ExportedParameter(body, var_Time, parameter_Time) - )); - // InterferometryMission.observationTime(Mission, ObservationTime) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat"))); - new Equality(body, var__virtual_0_, var_ObservationTime); - // TrasmitTime == sum find transmitTime(Mission, _, #_) - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Mission, var___0_, var___1_), TransmitTime.instance().getInternalQueryRepresentation(), var__virtual_1_, 2); - new Equality(body, var_TrasmitTime, var__virtual_1_); - // Time == eval(TrasmitTime + 60.0 * ObservationTime) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern missionTime"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("ObservationTime", "TrasmitTime");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Float ObservationTime = (Float) provider.getValue("ObservationTime"); - Double TrasmitTime = (Double) provider.getValue("TrasmitTime"); - return evaluateExpression_1_1(ObservationTime, TrasmitTime); - } - }, var__virtual_2_ ); - new Equality(body, var_Time, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Float ObservationTime, final Double TrasmitTime) { - return ((TrasmitTime).doubleValue() + (60.0 * (ObservationTime).floatValue())); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java index e474ddf1..66ea8361 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SatelliteQueriesAll.java @@ -5,48 +5,25 @@ package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLinkDoesNotStartAtContainingElement; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CommunicationLoop; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CoverageMetric; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CubeSatWithKaAntenna; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetBand; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.IncompatibleSourceAndTargetGain; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.KaAntennaGainLow; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoLinkToGroundStation; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NoPotentialLinkToGroundStation; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.NotEnoughInterferometryPayloads; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SmallSat; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.ThreeUCubeSatWithNonUhfCrossLink; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.TimeMetric; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.UhfAntennaGainNotLow; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.XAntennaGainNotMedium; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AtLeastTwoInterferometryPayloads; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBand; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemBandUhf; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGain; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainLow; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CommSubsystemGainMedium; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat3U; +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.CubeSat6U; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.DirectCommunicationLink; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.GroundStationNetwork; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectCommunicationLink; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IndirectLinkAllowed; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.LinkAllowed; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingAntenna; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCost; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionCoverage; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MissionTime; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink; +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.MatchingCommSubsystem; import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithInterferometryPayload; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime; import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; /** @@ -64,41 +41,18 @@ import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedPatternGroup; *

  • indirectLinkAllowed
  • *
  • linkAllowed
  • *
  • matchingAntenna
  • + *
  • matchingCommSubsystem
  • *
  • cubeSat3U
  • + *
  • cubeSat6U
  • *
  • communicationLoop
  • *
  • indirectCommunicationLink
  • *
  • directCommunicationLink
  • *
  • incompatibleSourceAndTargetBand
  • - *
  • commSubsystemBand
  • - *
  • incompatibleSourceAndTargetGain
  • - *
  • commSubsystemGain
  • - *
  • uhfAntennaGainNotLow
  • - *
  • commSubsystemGainLow
  • - *
  • xAntennaGainNotMedium
  • - *
  • commSubsystemGainMedium
  • - *
  • kaAntennaGainLow
  • *
  • threeUCubeSatWithNonUhfCrossLink
  • *
  • commSubsystemBandUhf
  • *
  • groundStationNetwork
  • *
  • cubeSatWithKaAntenna
  • *
  • smallSat
  • - *
  • spacecraftOfKind
  • - *
  • coverageMetric
  • - *
  • missionCoverage
  • - *
  • timeMetric
  • - *
  • missionTime
  • - *
  • transmitTime
  • - *
  • incomingData
  • - *
  • scienceData
  • - *
  • transmitRate
  • - *
  • spacecraftUplink
  • - *
  • costMetric
  • - *
  • missionCost
  • - *
  • spacecraftCost
  • - *
  • basePrice
  • - *
  • interferometryPayloadCost
  • - *
  • additionalCommSubsystemCost
  • - *
  • spacecraftWithTwoCommSubsystems
  • * * * @see IQueryGroup @@ -132,40 +86,17 @@ public final class SatelliteQueriesAll extends BaseGeneratedPatternGroup { querySpecifications.add(IndirectLinkAllowed.instance()); querySpecifications.add(LinkAllowed.instance()); querySpecifications.add(MatchingAntenna.instance()); + querySpecifications.add(MatchingCommSubsystem.instance()); querySpecifications.add(CubeSat3U.instance()); + querySpecifications.add(CubeSat6U.instance()); querySpecifications.add(CommunicationLoop.instance()); querySpecifications.add(IndirectCommunicationLink.instance()); querySpecifications.add(DirectCommunicationLink.instance()); querySpecifications.add(IncompatibleSourceAndTargetBand.instance()); - querySpecifications.add(CommSubsystemBand.instance()); - querySpecifications.add(IncompatibleSourceAndTargetGain.instance()); - querySpecifications.add(CommSubsystemGain.instance()); - querySpecifications.add(UhfAntennaGainNotLow.instance()); - querySpecifications.add(CommSubsystemGainLow.instance()); - querySpecifications.add(XAntennaGainNotMedium.instance()); - querySpecifications.add(CommSubsystemGainMedium.instance()); - querySpecifications.add(KaAntennaGainLow.instance()); querySpecifications.add(ThreeUCubeSatWithNonUhfCrossLink.instance()); querySpecifications.add(CommSubsystemBandUhf.instance()); querySpecifications.add(GroundStationNetwork.instance()); querySpecifications.add(CubeSatWithKaAntenna.instance()); querySpecifications.add(SmallSat.instance()); - querySpecifications.add(SpacecraftOfKind.instance()); - querySpecifications.add(CoverageMetric.instance()); - querySpecifications.add(MissionCoverage.instance()); - querySpecifications.add(TimeMetric.instance()); - querySpecifications.add(MissionTime.instance()); - querySpecifications.add(TransmitTime.instance()); - querySpecifications.add(IncomingData.instance()); - querySpecifications.add(ScienceData.instance()); - querySpecifications.add(TransmitRate.instance()); - querySpecifications.add(SpacecraftUplink.instance()); - querySpecifications.add(CostMetric.instance()); - querySpecifications.add(MissionCost.instance()); - querySpecifications.add(SpacecraftCost.instance()); - querySpecifications.add(BasePrice.instance()); - querySpecifications.add(InterferometryPayloadCost.instance()); - querySpecifications.add(AdditionalCommSubsystemCost.instance()); - querySpecifications.add(SpacecraftWithTwoCommSubsystems.instance()); } } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/ScienceData.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/ScienceData.java deleted file mode 100644 index bb262a0b..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/ScienceData.java +++ /dev/null @@ -1,179 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern scienceData(Spacecraft : Spacecraft, Data : java Double) {
    - *         	ConstellationMission.spacecraft(Mission, Spacecraft);
    - *         	InterferometryMission.observationTime(Mission, ObservationTime);
    - *         	Data == eval(12.0  ObservationTime);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class ScienceData extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private ScienceData() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static ScienceData instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData (visibility: PUBLIC, simpleName: ScienceData, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData (visibility: PUBLIC, simpleName: ScienceData, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final ScienceData INSTANCE = new ScienceData(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final ScienceData.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Data = new PParameter("Data", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Data); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.scienceData"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Data"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Data = body.getOrCreateVariableByName("Data"); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_ObservationTime = body.getOrCreateVariableByName("ObservationTime"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Data), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Data, parameter_Data) - )); - // ConstellationMission.spacecraft(Mission, Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new Equality(body, var__virtual_0_, var_Spacecraft); - // InterferometryMission.observationTime(Mission, ObservationTime) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "InterferometryMission", "observationTime"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.eclipse.org/emf/2002/Ecore", "EFloat"))); - new Equality(body, var__virtual_1_, var_ObservationTime); - // Data == eval(12.0 * ObservationTime) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern scienceData"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("ObservationTime");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Float ObservationTime = (Float) provider.getValue("ObservationTime"); - return evaluateExpression_1_1(ObservationTime); - } - }, var__virtual_2_ ); - new Equality(body, var_Data, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Float ObservationTime) { - return (12.0 * (ObservationTime).floatValue()); - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftCost.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftCost.java deleted file mode 100644 index ca71cdd8..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftCost.java +++ /dev/null @@ -1,209 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SpacecraftOfKind; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.AdditionalCommSubsystemCost; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.BasePrice; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.InterferometryPayloadCost; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.PatternMatchCounter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern spacecraftCost(Mission : InterferometryMission, Spacecraft : Spacecraft, Cost : java Double) {
    - *         	ConstellationMission.spacecraft(Mission, Spacecraft);
    - *         	find spacecraftOfKind(Spacecraft, Kind);
    - *         	KindCount == count find spacecraftOfKind(_, Kind);
    - *         	find basePrice(Spacecraft, BasePrice);
    - *         	find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost);
    - *         	find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost);
    - *         	Cost == eval(BasePrice  Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class SpacecraftCost extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private SpacecraftCost() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static SpacecraftCost instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost (visibility: PUBLIC, simpleName: SpacecraftCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost (visibility: PUBLIC, simpleName: SpacecraftCost, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftCost, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final SpacecraftCost INSTANCE = new SpacecraftCost(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final SpacecraftCost.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Cost = new PParameter("Cost", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft, parameter_Cost); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftCost"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission","Spacecraft","Cost"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Cost = body.getOrCreateVariableByName("Cost"); - PVariable var_Kind = body.getOrCreateVariableByName("Kind"); - PVariable var_KindCount = body.getOrCreateVariableByName("KindCount"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var_BasePrice = body.getOrCreateVariableByName("BasePrice"); - PVariable var_InterferometryPayloadCost = body.getOrCreateVariableByName("InterferometryPayloadCost"); - PVariable var_AdditionalCommSubsystemCost = body.getOrCreateVariableByName("AdditionalCommSubsystemCost"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_Cost), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission), - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Cost, parameter_Cost) - )); - // ConstellationMission.spacecraft(Mission, Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new Equality(body, var__virtual_0_, var_Spacecraft); - // find spacecraftOfKind(Spacecraft, Kind) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_Kind), SpacecraftOfKind.instance().getInternalQueryRepresentation()); - // KindCount == count find spacecraftOfKind(_, Kind) - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new PatternMatchCounter(body, Tuples.flatTupleOf(var___0_, var_Kind), SpacecraftOfKind.instance().getInternalQueryRepresentation(), var__virtual_1_); - new Equality(body, var_KindCount, var__virtual_1_); - // find basePrice(Spacecraft, BasePrice) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_BasePrice), BasePrice.instance().getInternalQueryRepresentation()); - // find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_InterferometryPayloadCost), InterferometryPayloadCost.instance().getInternalQueryRepresentation()); - // find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_AdditionalCommSubsystemCost), AdditionalCommSubsystemCost.instance().getInternalQueryRepresentation()); - // Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern spacecraftCost"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("AdditionalCommSubsystemCost", "BasePrice", "InterferometryPayloadCost", "KindCount");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Double AdditionalCommSubsystemCost = (Double) provider.getValue("AdditionalCommSubsystemCost"); - Double BasePrice = (Double) provider.getValue("BasePrice"); - Double InterferometryPayloadCost = (Double) provider.getValue("InterferometryPayloadCost"); - Integer KindCount = (Integer) provider.getValue("KindCount"); - return evaluateExpression_1_1(AdditionalCommSubsystemCost, BasePrice, InterferometryPayloadCost, KindCount); - } - }, var__virtual_2_ ); - new Equality(body, var_Cost, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Double AdditionalCommSubsystemCost, final Double BasePrice, final Double InterferometryPayloadCost, final Integer KindCount) { - double _pow = Math.pow((KindCount).intValue(), (-0.25)); - double _multiply = ((BasePrice).doubleValue() * _pow); - double _plus = (_multiply + (InterferometryPayloadCost).doubleValue()); - double _plus_1 = (_plus + (AdditionalCommSubsystemCost).doubleValue()); - return _plus_1; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftUplink.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftUplink.java deleted file mode 100644 index 8ecc1717..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftUplink.java +++ /dev/null @@ -1,171 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EDataTypeInSlotsKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern spacecraftUplink(Spacecraft : Spacecraft, Band : TransceiverBand, Target : CommunicatingElement) {
    - *         	CommunicatingElement.communicationLink(Spacecraft, Link);
    - *         	DirectedCommunicationLink.source.band(Link, Band);
    - *         	DirectedCommunicationLink.target(Link, TargetSubsystem);
    - *         	CommunicatingElement.commSubsystem(Target, TargetSubsystem);
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class SpacecraftUplink extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private SpacecraftUplink() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static SpacecraftUplink instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink (visibility: PUBLIC, simpleName: SpacecraftUplink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink (visibility: PUBLIC, simpleName: SpacecraftUplink, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final SpacecraftUplink INSTANCE = new SpacecraftUplink(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final SpacecraftUplink.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_Band = new PParameter("Band", "satellite.TransceiverBand", new EDataTypeInSlotsKey((EDataType)getClassifierLiteralSafe("http://www.example.org/satellite", "TransceiverBand")), PParameterDirection.INOUT); - - private final PParameter parameter_Target = new PParameter("Target", "satellite.CommunicatingElement", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "CommunicatingElement")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_Band, parameter_Target); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftUplink"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","Band","Target"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Band = body.getOrCreateVariableByName("Band"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - PVariable var_Link = body.getOrCreateVariableByName("Link"); - PVariable var_TargetSubsystem = body.getOrCreateVariableByName("TargetSubsystem"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Band), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_Band, parameter_Band), - new ExportedParameter(body, var_Target, parameter_Target) - )); - // CommunicatingElement.communicationLink(Spacecraft, Link) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "communicationLink"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - new Equality(body, var__virtual_0_, var_Link); - // DirectedCommunicationLink.source.band(Link, Band) - new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "source"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_, var__virtual_2_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommSubsystem", "band"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_2_), new EDataTypeInSlotsKey((EDataType)getClassifierLiteral("http://www.example.org/satellite", "TransceiverBand"))); - new Equality(body, var__virtual_2_, var_Band); - // DirectedCommunicationLink.target(Link, TargetSubsystem) - new TypeConstraint(body, Tuples.flatTupleOf(var_Link), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "DirectedCommunicationLink"))); - PVariable var__virtual_3_ = body.getOrCreateVariableByName(".virtual{3}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Link, var__virtual_3_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "DirectedCommunicationLink", "target"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_3_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_3_, var_TargetSubsystem); - // CommunicatingElement.commSubsystem(Target, TargetSubsystem) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommunicatingElement"))); - PVariable var__virtual_4_ = body.getOrCreateVariableByName(".virtual{4}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Target, var__virtual_4_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_4_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_4_, var_TargetSubsystem); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithTwoCommSubsystems.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithTwoCommSubsystems.java deleted file mode 100644 index a91f7b92..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/SpacecraftWithTwoCommSubsystems.java +++ /dev/null @@ -1,146 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Inequality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern spacecraftWithTwoCommSubsystems(Spacecraft : Spacecraft) {
    - *         	Spacecraft.commSubsystem(Spacecraft, Subsystem1);
    - *         	Spacecraft.commSubsystem(Spacecraft, Subsystem2);
    - *         	Subsystem1 != Subsystem2;
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class SpacecraftWithTwoCommSubsystems extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private SpacecraftWithTwoCommSubsystems() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static SpacecraftWithTwoCommSubsystems instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems (visibility: PUBLIC, simpleName: SpacecraftWithTwoCommSubsystems, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems (visibility: PUBLIC, simpleName: SpacecraftWithTwoCommSubsystems, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftWithTwoCommSubsystems, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final SpacecraftWithTwoCommSubsystems INSTANCE = new SpacecraftWithTwoCommSubsystems(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final SpacecraftWithTwoCommSubsystems.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.spacecraftWithTwoCommSubsystems"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_Subsystem1 = body.getOrCreateVariableByName("Subsystem1"); - PVariable var_Subsystem2 = body.getOrCreateVariableByName("Subsystem2"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft) - )); - // Spacecraft.commSubsystem(Spacecraft, Subsystem1) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_0_, var_Subsystem1); - // Spacecraft.commSubsystem(Spacecraft, Subsystem2) - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_1_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "CommunicatingElement", "commSubsystem"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_1_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "CommSubsystem"))); - new Equality(body, var__virtual_1_, var_Subsystem2); - // Subsystem1 != Subsystem2 - new Inequality(body, var_Subsystem1, var_Subsystem2); - bodies.add(body); - } - return bodies; - } - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitRate.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitRate.java deleted file mode 100644 index 174e076a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitRate.java +++ /dev/null @@ -1,277 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.SpacecraftUplink; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.ConstantValue; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         private pattern transmitRate(Spacecraft : Spacecraft, TransmitRate : java Double) {
    - *         	find spacecraftUplink(Spacecraft, TransceiverBand::UHF, Target);
    - *         	Spacecraft(Target);
    - *         	TransmitRate == 5.0;
    - *         } or {
    - *         	find spacecraftUplink(Spacecraft, TransceiverBand::X, Target);
    - *         	Spacecraft(Target);
    - *         	TransmitRate == 1.6;
    - *         } or {
    - *         	find spacecraftUplink(Spacecraft, TransceiverBand::X, Target);
    - *         	GroundStationNetwork(Target);
    - *         	TransmitRate == 0.7;
    - *         } or {
    - *         	find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target);
    - *         	Spacecraft(Target);
    - *         	TransmitRate == 220.0;
    - *         } or {
    - *         	find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target);
    - *         	GroundStationNetwork(Target);
    - *         	TransmitRate == 80.0;
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class TransmitRate extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private TransmitRate() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static TransmitRate instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate (visibility: PUBLIC, simpleName: TransmitRate, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate (visibility: PUBLIC, simpleName: TransmitRate, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final TransmitRate INSTANCE = new TransmitRate(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final TransmitRate.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_TransmitRate = new PParameter("TransmitRate", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Spacecraft, parameter_TransmitRate); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmitRate"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Spacecraft","TransmitRate"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate) - )); - // find spacecraftUplink(Spacecraft, TransceiverBand::UHF, Target) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "UHF").getInstance()); - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation()); - // Spacecraft(Target) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - // TransmitRate == 5.0 - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new ConstantValue(body, var__virtual_1_, 5.0); - new Equality(body, var_TransmitRate, var__virtual_1_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate) - )); - // find spacecraftUplink(Spacecraft, TransceiverBand::X, Target) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance()); - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation()); - // Spacecraft(Target) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - // TransmitRate == 1.6 - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new ConstantValue(body, var__virtual_1_, 1.6); - new Equality(body, var_TransmitRate, var__virtual_1_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate) - )); - // find spacecraftUplink(Spacecraft, TransceiverBand::X, Target) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "X").getInstance()); - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation()); - // GroundStationNetwork(Target) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); - // TransmitRate == 0.7 - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new ConstantValue(body, var__virtual_1_, 0.7); - new Equality(body, var_TransmitRate, var__virtual_1_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate) - )); - // find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance()); - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation()); - // Spacecraft(Target) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - // TransmitRate == 220.0 - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new ConstantValue(body, var__virtual_1_, 220.0); - new Equality(body, var_TransmitRate, var__virtual_1_); - bodies.add(body); - } - { - PBody body = new PBody(this); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - PVariable var_Target = body.getOrCreateVariableByName("Target"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitRate), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitRate, parameter_TransmitRate) - )); - // find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target) - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new ConstantValue(body, var__virtual_0_, getEnumLiteral("http://www.example.org/satellite", "TransceiverBand", "Ka").getInstance()); - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var__virtual_0_, var_Target), SpacecraftUplink.instance().getInternalQueryRepresentation()); - // GroundStationNetwork(Target) - new TypeConstraint(body, Tuples.flatTupleOf(var_Target), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "GroundStationNetwork"))); - // TransmitRate == 80.0 - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new ConstantValue(body, var__virtual_1_, 80.0); - new Equality(body, var_TransmitRate, var__virtual_1_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1() { - return 5.0; - } - - private static double evaluateExpression_2_1() { - return 1.6; - } - - private static double evaluateExpression_3_1() { - return 0.7; - } - - private static double evaluateExpression_4_1() { - return 220.0; - } - - private static double evaluateExpression_5_1() { - return 80.0; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitTime.java b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitTime.java deleted file mode 100644 index a64c750a..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/internal/TransmitTime.java +++ /dev/null @@ -1,200 +0,0 @@ -/** - * Generated from platform:/resource/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/queries/SatelliteQueries.vql - */ -package hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal; - -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.IncomingData; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.ScienceData; -import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitRate; -import java.util.Arrays; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Set; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFPQuery; -import org.eclipse.viatra.query.runtime.api.impl.BaseGeneratedEMFQuerySpecificationWithGenericMatcher; -import org.eclipse.viatra.query.runtime.emf.types.EClassTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.emf.types.EStructuralFeatureInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.aggregators.sum; -import org.eclipse.viatra.query.runtime.matchers.backend.QueryEvaluationHint; -import org.eclipse.viatra.query.runtime.matchers.context.common.JavaTransitiveInstancesKey; -import org.eclipse.viatra.query.runtime.matchers.psystem.IExpressionEvaluator; -import org.eclipse.viatra.query.runtime.matchers.psystem.IValueProvider; -import org.eclipse.viatra.query.runtime.matchers.psystem.PBody; -import org.eclipse.viatra.query.runtime.matchers.psystem.PVariable; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.AggregatorConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.Equality; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExportedParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.ExpressionEvaluation; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicdeferred.TypeFilterConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.PositivePatternCall; -import org.eclipse.viatra.query.runtime.matchers.psystem.basicenumerables.TypeConstraint; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameter; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PParameterDirection; -import org.eclipse.viatra.query.runtime.matchers.psystem.queries.PVisibility; -import org.eclipse.viatra.query.runtime.matchers.tuple.Tuples; -import org.eclipse.xtext.xbase.lib.DoubleExtensions; - -/** - * A pattern-specific query specification that can instantiate GenericPatternMatcher in a type-safe way. - * - *

    Original source: - *

    - *         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));
    - *         }
    - * 
    - * - * @see GenericPatternMatcher - * @see GenericPatternMatch - * - */ -@SuppressWarnings("all") -public final class TransmitTime extends BaseGeneratedEMFQuerySpecificationWithGenericMatcher { - private TransmitTime() { - super(GeneratedPQuery.INSTANCE); - } - - /** - * @return the singleton instance of the query specification - * @throws ViatraQueryRuntimeException if the pattern definition could not be loaded - * - */ - public static TransmitTime instance() { - try{ - return LazyHolder.INSTANCE; - } catch (ExceptionInInitializerError err) { - throw processInitializerError(err); - } - } - - /** - * Inner class allowing the singleton instance of {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime (visibility: PUBLIC, simpleName: TransmitTime, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)} to be created - * not at the class load time of the outer class, - * but rather at the first call to {@link JvmGenericType: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime (visibility: PUBLIC, simpleName: TransmitTime, identifier: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal.TransmitTime, deprecated: ) (abstract: false, static: false, final: true, packageName: hu.bme.mit.inf.dslreasoner.domains.satellite.queries.internal) (interface: false, strictFloatingPoint: false, anonymous: false)#instance()}. - * - *

    This workaround is required e.g. to support recursion. - * - */ - private static class LazyHolder { - private static final TransmitTime INSTANCE = new TransmitTime(); - - /** - * Statically initializes the query specification after the field {@link #INSTANCE} is assigned. - * This initialization order is required to support indirect recursion. - * - *

    The static initializer is defined using a helper field to work around limitations of the code generator. - * - */ - private static final Object STATIC_INITIALIZER = ensureInitialized(); - - public static Object ensureInitialized() { - INSTANCE.ensureInitializedInternal(); - return null; - } - } - - private static class GeneratedPQuery extends BaseGeneratedEMFPQuery { - private static final TransmitTime.GeneratedPQuery INSTANCE = new GeneratedPQuery(); - - private final PParameter parameter_Mission = new PParameter("Mission", "satellite.InterferometryMission", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "InterferometryMission")), PParameterDirection.INOUT); - - private final PParameter parameter_Spacecraft = new PParameter("Spacecraft", "satellite.Spacecraft", new EClassTransitiveInstancesKey((EClass)getClassifierLiteralSafe("http://www.example.org/satellite", "Spacecraft")), PParameterDirection.INOUT); - - private final PParameter parameter_TransmitTime = new PParameter("TransmitTime", "java.lang.Double", new JavaTransitiveInstancesKey(java.lang.Double.class), PParameterDirection.INOUT); - - private final List parameters = Arrays.asList(parameter_Mission, parameter_Spacecraft, parameter_TransmitTime); - - private GeneratedPQuery() { - super(PVisibility.PRIVATE); - } - - @Override - public String getFullyQualifiedName() { - return "hu.bme.mit.inf.dslreasoner.domains.satellite.queries.transmitTime"; - } - - @Override - public List getParameterNames() { - return Arrays.asList("Mission","Spacecraft","TransmitTime"); - } - - @Override - public List getParameters() { - return parameters; - } - - @Override - public Set doGetContainedBodies() { - setEvaluationHints(new QueryEvaluationHint(null, QueryEvaluationHint.BackendRequirement.UNSPECIFIED)); - Set bodies = new LinkedHashSet<>(); - { - PBody body = new PBody(this); - PVariable var_Mission = body.getOrCreateVariableByName("Mission"); - PVariable var_Spacecraft = body.getOrCreateVariableByName("Spacecraft"); - PVariable var_TransmitTime = body.getOrCreateVariableByName("TransmitTime"); - PVariable var_ScienceData = body.getOrCreateVariableByName("ScienceData"); - PVariable var_IncomingData = body.getOrCreateVariableByName("IncomingData"); - PVariable var___0_ = body.getOrCreateVariableByName("_<0>"); - PVariable var___1_ = body.getOrCreateVariableByName("_<1>"); - PVariable var_TransmitRate = body.getOrCreateVariableByName("TransmitRate"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "InterferometryMission"))); - new TypeConstraint(body, Tuples.flatTupleOf(var_Spacecraft), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new TypeFilterConstraint(body, Tuples.flatTupleOf(var_TransmitTime), new JavaTransitiveInstancesKey(java.lang.Double.class)); - body.setSymbolicParameters(Arrays.asList( - new ExportedParameter(body, var_Mission, parameter_Mission), - new ExportedParameter(body, var_Spacecraft, parameter_Spacecraft), - new ExportedParameter(body, var_TransmitTime, parameter_TransmitTime) - )); - // ConstellationMission.spacecraft(Mission, Spacecraft) - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "ConstellationMission"))); - PVariable var__virtual_0_ = body.getOrCreateVariableByName(".virtual{0}"); - new TypeConstraint(body, Tuples.flatTupleOf(var_Mission, var__virtual_0_), new EStructuralFeatureInstancesKey(getFeatureLiteral("http://www.example.org/satellite", "ConstellationMission", "spacecraft"))); - new TypeConstraint(body, Tuples.flatTupleOf(var__virtual_0_), new EClassTransitiveInstancesKey((EClass)getClassifierLiteral("http://www.example.org/satellite", "Spacecraft"))); - new Equality(body, var__virtual_0_, var_Spacecraft); - // find scienceData(Spacecraft, ScienceData) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_ScienceData), ScienceData.instance().getInternalQueryRepresentation()); - // IncomingData == sum find incomingData(Spacecraft, _, #_) - PVariable var__virtual_1_ = body.getOrCreateVariableByName(".virtual{1}"); - new AggregatorConstraint(new sum().getAggregatorLogic(Double.class), body, Tuples.flatTupleOf(var_Spacecraft, var___0_, var___1_), IncomingData.instance().getInternalQueryRepresentation(), var__virtual_1_, 2); - new Equality(body, var_IncomingData, var__virtual_1_); - // find transmitRate(Spacecraft, TransmitRate) - new PositivePatternCall(body, Tuples.flatTupleOf(var_Spacecraft, var_TransmitRate), TransmitRate.instance().getInternalQueryRepresentation()); - // TransmitTime == eval((ScienceData + IncomingData) / (7.5 * TransmitRate)) - PVariable var__virtual_2_ = body.getOrCreateVariableByName(".virtual{2}"); - new ExpressionEvaluation(body, new IExpressionEvaluator() { - - @Override - public String getShortDescription() { - return "Expression evaluation from pattern transmitTime"; - } - - @Override - public Iterable getInputParameterNames() { - return Arrays.asList("IncomingData", "ScienceData", "TransmitRate");} - - @Override - public Object evaluateExpression(IValueProvider provider) throws Exception { - Double IncomingData = (Double) provider.getValue("IncomingData"); - Double ScienceData = (Double) provider.getValue("ScienceData"); - Double TransmitRate = (Double) provider.getValue("TransmitRate"); - return evaluateExpression_1_1(IncomingData, ScienceData, TransmitRate); - } - }, var__virtual_2_ ); - new Equality(body, var_TransmitTime, var__virtual_2_); - bodies.add(body); - } - return bodies; - } - } - - private static double evaluateExpression_1_1(final Double IncomingData, final Double ScienceData, final Double TransmitRate) { - double _plus = DoubleExtensions.operator_plus(ScienceData, IncomingData); - double _divide = (_plus / (7.5 * (TransmitRate).doubleValue())); - return _divide; - } -} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend new file mode 100644 index 00000000..3a8688e9 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/CostObjective.xtend @@ -0,0 +1,13 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.CostMetric + +class CostObjective extends MetricBasedGuidanceFunction { + new() { + super(CostMetric.instance) + } + + override getName() { + "Cost" + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/ExcludedOptimisationInterpreter.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/ExcludedOptimisationInterpreter.xtend new file mode 100644 index 00000000..ddf5748e --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/ExcludedOptimisationInterpreter.xtend @@ -0,0 +1,85 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import java.util.Properties +import org.moeaframework.Executor +import org.moeaframework.Instrumenter +import org.moeaframework.algorithm.PeriodicAction +import org.moeaframework.core.TerminationCondition +import org.moeaframework.core.spi.AlgorithmFactory +import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run +import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation +import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.SolverSpec +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.OptimisationInterpreter +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.MoeaOptimisation +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.algorithms.MoeaOptimisationAlgorithmProvider +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.instrumentation.PopulationCollector +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.problem.MoeaOptimisationProblem +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategyFactory +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.output.MDEOBatch + +class ExcludedMoeaOptimisation extends MoeaOptimisation { + SolutionGenerator solutionGenerator + Instrumenter algorithmStepSizeInstrumenter + + override execute(SolverSpec solverSpec, SolutionGenerator solutionGenerator) { + this.solutionGenerator = solutionGenerator + super.execute(solverSpec, solutionGenerator) + } + + override Instrumenter runOptimisation(SolverSpec solverSpec, Properties optimisationProperties) { + val algorithmFactory = new AlgorithmFactory + algorithmFactory.addProvider(new MoeaOptimisationAlgorithmProvider) + + algorithmStepSizeInstrumenter = new Instrumenter().addExcludedPackage("org.eclipse").withProblemClass( + MoeaOptimisationProblem, solutionGenerator).attachApproximationSetCollector().attachElapsedTimeCollector(). + attachPopulationSizeCollector.attach(new PopulationCollector()).withFrequency(1).withFrequencyType( + PeriodicAction.FrequencyType.STEPS) + + var stepSizeStrategy = new MutationStepSizeStrategyFactory(solverSpec.algorithm, algorithmStepSizeInstrumenter). + strategy + + solutionGenerator.setMutationStepSizeStrategy(stepSizeStrategy) + + // TODO: Place this in a better location. + // Exclude JDK packages from Instrumenter + this.algorithmStepSizeInstrumenter.addExcludedPackage("jdk") + + new Executor().usingAlgorithmFactory(algorithmFactory).withAlgorithm(solverSpec.algorithm.name) // Initialize problem with our solution generator + .withProblemClass(MoeaOptimisationProblem, solutionGenerator).withProperties(optimisationProperties). + withInstrumenter(algorithmStepSizeInstrumenter).withTerminationCondition( + optimisationProperties.get("terminationCondition") as TerminationCondition).run() + + return algorithmStepSizeInstrumenter + } +} + +class ExcludedOptimisationInterpreter extends OptimisationInterpreter { + val Optimisation model + + new(String projectPath, Optimisation model) { + super(projectPath, model) + this.model = model + } + + override start() { + // This model provider loads the model given by the user in the DSL + var solutionGenerator = new SolutionGenerator(model, getBreedingOperators, getMutationOperators, + getModelProvider, getMetamodel); + + return new ExcludedMoeaOptimisation().execute(model.solver, solutionGenerator) + } + +} + +class ExcludedRun extends Run { + override runBatch(String moptProjectPath, Optimisation optimisationModel, Integer batch, boolean singleBatch) { + val optimisationInterpreter = new ExcludedOptimisationInterpreter(moptProjectPath, optimisationModel); + val startTime = System.nanoTime(); + val optimisationOutcome = optimisationInterpreter.start(); + val endTime = System.nanoTime(); + val experimentDuration = ((endTime - startTime) / 1000000); + val generatedRules = optimisationInterpreter.getRulegenOperators(); + return new MDEOBatch(batch, experimentDuration, optimisationOutcome, generatedRules, singleBatch); + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.xtend new file mode 100644 index 00000000..ee7f0060 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/LocalSearchEngineManager.xtend @@ -0,0 +1,31 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries +import java.util.WeakHashMap +import org.eclipse.emf.ecore.EObject +import org.eclipse.viatra.query.runtime.api.AdvancedViatraQueryEngine +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngine +import org.eclipse.viatra.query.runtime.api.ViatraQueryEngineOptions +import org.eclipse.viatra.query.runtime.emf.EMFScope +import org.eclipse.viatra.query.runtime.localsearch.matcher.integration.LocalSearchHints + +class LocalSearchEngineManager { + public static val INSTANCE = new LocalSearchEngineManager + + val WeakHashMap engineMap = new WeakHashMap + + private new() { + } + + def getEngine(EObject eObject) { + engineMap.computeIfAbsent(eObject) [ + val scope = new EMFScope(it) + val localSearchHints = LocalSearchHints.^default.build + val options = ViatraQueryEngineOptions.defineOptions.withDefaultHint(localSearchHints).withDefaultBackend( + localSearchHints.queryBackendFactory).build + val engine = AdvancedViatraQueryEngine.on(scope, options) + SatelliteQueries.instance.prepare(engine) + engine + ] + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.xtend new file mode 100644 index 00000000..1529794f --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/MetricBasedGuidanceFunction.xtend @@ -0,0 +1,47 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import org.eclipse.viatra.query.runtime.api.IPatternMatch +import org.eclipse.viatra.query.runtime.api.IQuerySpecification +import org.eclipse.viatra.query.runtime.api.ViatraQueryMatcher +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution + +abstract class MetricBasedGuidanceFunction implements IGuidanceFunction { + val IQuerySpecification> querySpecification + + protected new(IQuerySpecification> querySpecification) { + this.querySpecification = querySpecification + if (querySpecification.parameters.size != 1) { + throw new IllegalArgumentException("Metric must have a single parameter") + } + } + + override computeFitness(Solution model) { + val value = getMetricValue(model) + computeFitness(value) + } + + protected def double computeFitness(double metricValue) { + metricValue + } + + private def getMetricValue(Solution solution) { + val model = solution.model + val queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model) + val matcher = querySpecification.getMatcher(queryEngine) + val iterator = matcher.allMatches.iterator + if (!iterator.hasNext) { + throw new IllegalStateException("Too few matches") + } + val objectValue = iterator.next.get(0) + if (objectValue instanceof Number) { + val doubleValue = objectValue.doubleValue + if (iterator.hasNext) { + throw new IllegalStateException("Too many matches") + } + doubleValue + } else { + throw new IllegalStateException("Metric value must be a number") + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.xtend new file mode 100644 index 00000000..b238e64f --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/PatternMatchConstraint.xtend @@ -0,0 +1,29 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import com.google.common.collect.ImmutableList +import hu.bme.mit.inf.dslreasoner.domains.satellite.queries.SatelliteQueries +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.IGuidanceFunction +import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.interpreter.guidance.Solution + +class PatternMatchConstraint implements IGuidanceFunction { + static val CONSTRAINT_ANNOTATION_NAME = "Constraint" + + val queries = ImmutableList.copyOf(SatelliteQueries.instance.specifications.filter [ + allAnnotations.exists[name == CONSTRAINT_ANNOTATION_NAME] + ]) + + override getName() { + "PatternMatch" + } + + override computeFitness(Solution solution) { + val model = solution.model + val queryEngine = LocalSearchEngineManager.INSTANCE.getEngine(model) + var int matchCount = 0 + for (query : queries) { + val matcher = query.getMatcher(queryEngine) + matchCount += matcher.countMatches + } + matchCount + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.xtend new file mode 100644 index 00000000..c5a30f94 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/SatelliteMdeOptimiserMain.xtend @@ -0,0 +1,52 @@ +package hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo + +import java.io.BufferedReader +import java.io.BufferedWriter +import java.io.FileReader +import java.io.FileWriter +import java.util.Map +import org.eclipse.emf.ecore.EPackage +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl +import satellite.SatellitePackage +import uk.ac.kcl.inf.mdeoptimiser.languages.MoptStandaloneSetup + +class SatelliteMdeOptimiserMain { + static val PROJECT_PATH = "." + static val MOPT_PATH = "src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt" + + private new() { + new IllegalStateException("This is a static utility class and should not be instantiated directly.") + } + + public static def void main(String[] args) { + Resource.Factory.Registry.INSTANCE.extensionToFactoryMap.put(Resource.Factory.Registry.DEFAULT_EXTENSION, + new XMIResourceFactoryImpl) + EPackage.Registry.INSTANCE.put(SatellitePackage.eNS_URI, SatellitePackage.eINSTANCE) + fixupHenshinModel("model/satellite.henshin", "model/satellite_fixup.henshin", + #{"satellite.ecore" -> SatellitePackage.eNS_URI}) + val injector = new MoptStandaloneSetup().createInjectorAndDoEMFRegistration(); + injector.getInstance(ExcludedRun).run(PROJECT_PATH, MOPT_PATH) + } + + private def static void fixupHenshinModel(String originalPath, String outputPath, Map remapMap) { + val reader = new BufferedReader(new FileReader(originalPath)) + try { + val writer = new BufferedWriter(new FileWriter(outputPath)) + try { + var String line + while ((line = reader.readLine) !== null) { + for (entry : remapMap.entrySet) { + line = line.replace(entry.key, entry.value) + } + writer.write(line) + writer.write("\n") + } + } finally { + writer.close + } + } finally { + reader.close + } + } +} diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt new file mode 100644 index 00000000..138ea309 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/src/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/satellite.mopt @@ -0,0 +1,35 @@ +problem { + basepath + metamodel + model <../inputs/SatelliteInstance.xmi> +} + +goal { + objective Cost minimise java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.CostObjective" } + constraint PatternMatch java { "hu.bme.mit.inf.dslreasoner.domains.satellite.mdeo.PatternMatchConstraint" } +} + +search { + mutate using unit "addCubeSat3U" +// mutate { "CubeSat3U" } +// mutate { "CubeSat6U" } +// mutate { "SmallSat" } +// mutate { "InterferometryPayload" } +// mutate { "CommSubsystem" } +// mutate { "DirectedCommunicationLink" } +} + +solver { + optimisation provider moea algorithm NSGAII { + variation: mutation + population: 25 + mutation.step: 3 + mutation.strategy: random + } + + termination { + time: 120 + } + + batches 1 +} \ No newline at end of file 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 index 9b77ef72..557c1172 100644 --- 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 @@ -55,28 +55,42 @@ private pattern indirectLinkAllowed(From : Spacecraft, To : CommunicatingElement } private pattern linkAllowed(From : Spacecraft, To : CommunicatingElement) { - find matchingAntenna(From, To, _); + find matchingAntenna(From, To); neg find cubeSat3U(From); } or { - find matchingAntenna(From, To, TransceiverBand::UHF); + find matchingAntenna(From, To); CubeSat3U(From); } or { - find matchingAntenna(From, To, _); + find matchingAntenna(From, To); CubeSat3U(From); GroundStationNetwork(To); } -private pattern matchingAntenna(From : Spacecraft, To : CommunicatingElement, Band : TransceiverBand) { - CommunicatingElement.commSubsystem.band(From, Band); - CommunicatingElement.commSubsystem.band(To, Band); - CommunicatingElement.commSubsystem.gain(From, Gain); - CommunicatingElement.commSubsystem.gain(To, Gain); +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); } +private pattern cubeSat6U(Sat : CubeSat6U) { + CubeSat6U(Sat); +} + // No communication loops may exist // No spacecraft may directly communicate with itself @@ -104,63 +118,7 @@ private pattern directCommunicationLink(Source : CommunicatingElement, Target : pattern incompatibleSourceAndTargetBand(Link : DirectedCommunicationLink) { DirectedCommunicationLink.source(Link, SourceSubsystem); DirectedCommunicationLink.target(Link, TargetSubsystem); - CommSubsystem.band(SourceSubsystem, Band); - neg find commSubsystemBand(TargetSubsystem, Band); -} - -private pattern commSubsystemBand(Comm : CommSubsystem, Band : TransceiverBand) { - CommSubsystem.band(Comm, Band); -} - -@Constraint(severity = "error", key = {Link}, - message = "Two ends of a communication link must use the same antenna gain.") -pattern incompatibleSourceAndTargetGain(Link : DirectedCommunicationLink) { - DirectedCommunicationLink.source(Link, SourceSubsystem); - DirectedCommunicationLink.target(Link, TargetSubsystem); - CommSubsystem.gain(SourceSubsystem, Gain); - neg find commSubsystemGain(TargetSubsystem, Gain); -} - -private pattern commSubsystemGain(Comm : CommSubsystem, Gain : AntennaGain) { - CommSubsystem.gain(Comm, Gain); -} - -// UHF-band transmitters may only be combined with a low gain antenna - -@Constraint(severity = "error", key = {Comm}, - message = "UHF transceiver must be combined with a low gain antenna.") -pattern uhfAntennaGainNotLow(Comm : CommSubsystem) { - CommSubsystem.band(Comm, TransceiverBand::UHF); - // VIATRA will fail to infer a type constraint for the virtual variable introduced - // when an enum literal appears in a negative pattern call, so we use a helper pattern - // instead of neg find commSubsystemGain(Comm, AntennaGain::LOW); - neg find commSubsystemGainLow(Comm); -} - -private pattern commSubsystemGainLow(Comm : CommSubsystem) { - CommSubsystem.gain(Comm, AntennaGain::LOW); -} - -// X-band transmitters may only be combined with a medium gain antenna - -@Constraint(severity = "error", key = {Comm}, - message = "X-band transceiver must be combined with a medium gain antenna.") -pattern xAntennaGainNotMedium(Comm : CommSubsystem) { - CommSubsystem.band(Comm, TransceiverBand::X); - neg find commSubsystemGainMedium(Comm); -} - -private pattern commSubsystemGainMedium(Comm : CommSubsystem) { - CommSubsystem.gain(Comm, AntennaGain::MEDIUM); -} - -// Ka-band transmitters may only be combined with a medium or high gain antenna - -@Constraint(severity = "error", key = {Comm}, - message = "Ka-band transceiver must be combined with a medium or high gain antenna.") -pattern kaAntennaGainLow(Comm : CommSubsystem) { - CommSubsystem.band(Comm, TransceiverBand::Ka); - CommSubsystem.gain(Comm, AntennaGain::LOW); + neg find matchingCommSubsystem(SourceSubsystem, TargetSubsystem); } // 3U CubeSats are assumed to only be able to downlink to Earth using an X-band trasmitter, @@ -177,8 +135,8 @@ pattern threeUCubeSatWithNonUhfCrossLink(Sat : CubeSat3U) { neg find groundStationNetwork(Target); } -private pattern commSubsystemBandUhf(Comm : CommSubsystem) { - CommSubsystem.band(Comm, TransceiverBand::UHF); +private pattern commSubsystemBandUhf(Comm : UHFCommSubsystem) { + UHFCommSubsystem(Comm); } private pattern groundStationNetwork(Network : GroundStationNetwork) { @@ -190,7 +148,8 @@ private pattern groundStationNetwork(Network : GroundStationNetwork) { @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.band(Spacecraft, TransceiverBand::Ka); + CommunicatingElement.commSubsystem(Spacecraft, Comm); + KaCommSubsystem(Comm); neg find smallSat(Spacecraft); } @@ -198,146 +157,147 @@ pattern smallSat(Sat : SmallSat) { SmallSat(Sat); } -@QueryBasedFeature(feature = "kind") -pattern spacecraftOfKind(Spacecraft : Spacecraft, Kind : SpacecraftKind) { - CubeSat3U(Spacecraft); - Kind == SpacecraftKind::CubeSat3U; -} or { - CubeSat6U(Spacecraft); - Kind == SpacecraftKind::CubeSat6U; -} or { - SmallSat(Spacecraft); - Kind == SpacecraftKind::SmallSat; -} - - +//// +//// Metrics +//// // -// Metrics +//// Coverage // - -// 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, TransceiverBand::UHF, Target); - Spacecraft(Target); - TransmitRate == 5.0; -} or { - find spacecraftUplink(Spacecraft, TransceiverBand::X, Target); - Spacecraft(Target); - TransmitRate == 1.6; -} or { - find spacecraftUplink(Spacecraft, TransceiverBand::X, Target); - GroundStationNetwork(Target); - TransmitRate == 0.7; -} or { - find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target); - Spacecraft(Target); - TransmitRate == 220.0; -} or { - find spacecraftUplink(Spacecraft, TransceiverBand::Ka, Target); - GroundStationNetwork(Target); - TransmitRate == 80.0; -} - -private pattern spacecraftUplink(Spacecraft : Spacecraft, Band : TransceiverBand, Target : CommunicatingElement) { - CommunicatingElement.communicationLink(Spacecraft, Link); - DirectedCommunicationLink.source.band(Link, Band); - DirectedCommunicationLink.target(Link, 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 spacecraftOfKind(Spacecraft, Kind); - KindCount == count find spacecraftOfKind(_, Kind); - find basePrice(Spacecraft, BasePrice); - find interferometryPayloadCost(Spacecraft, InterferometryPayloadCost); - find additionalCommSubsystemCost(Spacecraft, AdditionalCommSubsystemCost); - Cost == eval(BasePrice * Math.pow(KindCount, -0.25) + InterferometryPayloadCost + AdditionalCommSubsystemCost); -} - -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; -} +//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.communicationLink(Spacecraft, Link); +// DirectedCommunicationLink.target(Link, 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; +//} \ No newline at end of file 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 index 592348e8..3d2cbbc7 100644 --- 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 @@ -6,8 +6,8 @@ final class SatelliteGeneratorMain { private new() { throw new IllegalStateException("This is a static utility class and should not be instantiated directly.") } - - static def void main(String[] args) { + + public static def void main(String[] args) { println(StandaloneScriptExecutor.executeScript("configs/generation.vsconfig")) } } diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore new file mode 100644 index 00000000..478b3143 --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/.gitignore @@ -0,0 +1,3 @@ +/.ExcludedMoeaOptimisation.java._trace +/.ExcludedOptimisationInterpreter.java._trace +/.ExcludedRun.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore new file mode 100644 index 00000000..ed54e06a --- /dev/null +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/mdeo/.gitignore @@ -0,0 +1,10 @@ +/.SatellineMdeOptimiserMain.java._trace +/.SatelliteMdeOptimiserMain.java._trace +/.ExcludedMoeaOptimisation.java._trace +/.ExcludedOptimisationInterpreter.java._trace +/.ExcludedRun.java._trace +/.LocalSearchEngineManager.java._trace +/.PatternMatchConstraint.java._trace +/.PatternCostConstraint.java._trace +/.MetricBasedGuidanceFunction.java._trace +/.CostObjective.java._trace diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore index 928d3658..ff6b1dfc 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.satellite/xtend-gen/hu/bme/mit/inf/dslreasoner/domains/satellite/runner/.gitignore @@ -1 +1,3 @@ /.SatelliteGeneratorMain.java._trace +/.SatelliteGeneratorMain.xtendbin +/SatelliteGeneratorMain.java -- cgit v1.2.3-70-g09d2